Base de données Google Cloud Platform (GCP) Hadoop Hive (HCatalog et Metastore via JDBC) - Import
Prérequis du pont
Ce pont :nécessite un accès à Internet vers https://repo.maven.apache.org/maven2/ et/ou d'autres sites d'outils permettant de télécharger des pilotes dans <TDC_HOME>/data/download/MIMB/.
Spécifications du pont
Fournisseur | |
Nom de l'outil | Base de données Cloud Platform (GCP) Hadoop Hive |
Version de l'outil | Hive 2.x à 3.x |
Site Web de l'outil | https://cloud.google.com/gcp/ (uniquement en anglais) |
Méthodologie supportée | [Base de données relationnelle] Multimodèle, Data Store (Modèle de données physique) via une API JDBC |
Profiling de données | |
Collecte incrémentale | |
Collecte multi-modèle | |
Navigation dans le référentiel distant pour sélectionner un modèle |
SPÉCIFICATIONS
Outil : Google/Cloud Platform (GCP) Base de données Hadoop Hive version de Hive 2.x à 3.x via une API JDBC
Consultez https://cloud.google.com/gcp/
Métadonnées : [Base de données relationnelle] Multimodèle, Data Store (Modèle de données physique)
Composant : ApacheHiveImport.GoogleCloudPlatform version 11.2.0
AVERTISSEMENT
Ce pont requiert un accès à Internet pour télécharger les bibliothèques tierces :
- par exemple https://repo.maven.apache.org/maven2/ pour télécharger les bibliothèques tierces open source,
- et plus de sites pour d'autres logiciels tiers, comme les pilotes JDBC spécifiques pour les bases de données.
Les bibliothèques tierces téléchargées sont stockées dans $HOME/data/download/MIMB/
- Si le protocole HTTPS échoue, le pont d'import essaye ensuite avec HTTP.
- Si un proxy est utilisé pour accéder à Internet, vous devez configurer ce proxy dans l'environnement JRE (voir l'option -j dans le paramètre Divers).
- Si le pont d'import n'a pas d'accès à Internet, le répertoire $HOME/data/download/MIMB/ peut être copié depuis un autre serveur qui a accès à Internet, où la commande $HOME/bin/MIMB.sh (ou .bat) -d peut être utilisée pour télécharger en une fois toutes les bibliothèques tierces utilisées par tous les ponts.
En exécutant ce pont d'import, vous reconnaissez être responsable des conditions d'utilisation et de toute autre faille de sécurité potentielle liées au téléchargement de ces bibliothèques logicielles tierces.
VUE D'ENSEMBLE
*** bridge_spec_apachehivegooglecloudplatform_import_description
Paramètres du pont
Nom du paramètre | Description | Type | Valeurs | Défaut | Périmètre |
Répertoire de la bibliothèque Java | Répertoire contenant les fichiers JAR nécessaires pour accéder à HiveServer2 : - Fichiers JAR pilotes JDBC spécifiques à la distribution Hadoop - Fichiers JAR du client Hadoop (lors de l'utilisation du mode sécurisé de Kerberos. Généralement disponible dans /usr/lib/hadoop/client) - fichiers Java Cryptography Extension JAR files (lors de l'utilisation d'un chiffrement fort. Généralement disponible sur le site Web d'Oracle Java) - Le répertoire 'bin' avec winutils.exe pour éviter les exceptions non critiques lors de l'exécution de Windows sans Hadoop installé Documentation Apache Hive générique pour la connectivité des clients HiveServer2 JDBC : https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-RunningtheJDBCSampleCode |
RÉPERTOIRE | |||
URL | Saisissez l'URL JDBC où le serveur Hive est en cours d'exécution, par ex. jdbc:hive://COMPUTER_NAME_OR_IP:10000 Ou jdbc:hive2://COMPUTER_NAME_OR_IP:10000 |
Chaîne de caractères | jdbc:hive2://hostname:portNumber/ | ||
User (Utilisateur) | Le nom de l'utilisateur Hive au nom duquel la connexion est effectuée. Consultez la section AUTORISATIONS de la documentation principale de ce pont d'import. |
Chaîne de caractères | |||
Password | Le mot de passe de l'utilisateur Hive au nom duquel la connexion est effectuée. | MOT DE PASSE | |||
Liste des JAR SerDe | Cette option peut être utilisée pour spécifier une liste de noms de chemins entièrement qualifiés, séparés par un point-virgule pointant vers les JAR SerDe que le pont va utiliser pour exécuter à distance sur le système Hive. | Chaîne de caractères | |||
Fichier de configuration Kerberos | Pour écraser la configuration Kerberos côté client. Par ex. /etc/krb5/krb5.conf |
Chaîne de caractères | |||
Fichier Keytab | Si Kerberos est utilisé pour l'authentification à Hive, cette option peut être utilisée pour spécifier le chemin d'accès entièrement qualifié au fichier Keytab de Kerberos. Par ex. /etc/security/keytabs/hive.service.keytab |
Chaîne de caractères | |||
Proxy utilisateur | Si Kerberos est utilisé pour l'authentiication à Hive, cette option peut être utilisée pour spécifier un utilisateur ou le nom d'un groupe d'utilisateurs de proxy. | Chaîne de caractères | |||
Emplacement du pilote JDBC du Metastore | Spécifiez un emplacement de dossier de JAR valide. Tous les JAR seront ajoutés au CLASSPATH à partir de ce dossier. | RÉPERTOIRE | |||
Classe du pilote JDBC du Metastore* | Copiez et collez ici la valeur 'javax.jdo.option.ConnectionDriverName' de votre fichier hive-site.xml Ce fichier se situe généralement dans '/etc/alternatives/hive-conf' ou à un autre emplacement, selon votre configuration Hadoop/Hive, par ex. com.mysql.jdbc.Driver |
Chaîne de caractères | |||
URL JDBC du Metastore* | Trouvez la valeur "javax.jdo.option.ConnectionURL" dans votre fichier hive-site.xml et définissez l'URL de connexion au serveur de base de données (MySQL, PostgreSQL,...) (Exemple :jdbc:mysql://127.0.0.1) Généralement, ce fichier se situe dans '/etc/alternatives/hive-conf' ou dans un autre emplacement en fonction de votre configuration Hadoop/Hive Il est recommandé de spécifier le nom de la base de données dans l'URL. |
Chaîne de caractères | |||
Nom de la base de données du Metastore | Cette option est utilisée uniquement à des fins de rétrocompatibilité. Fournissez le nom de la base de données Hive Metastore dans le champ "URL JDCB du Metastore*" |
Chaîne de caractères | |||
Utilisateur du Metastore | Le nom de l'utilisateur de la base de données du Metastore au nom duquel la connexion est effectuée. AUTORISATIONS DES UTILISATEURS Ce pont requiert un utilisateur avec un accès (en lecture seule) à la base de données "metastore". Exemple MySQL : GRANT SELECT ON metastore.* TO 'user'@'%'; |
Chaîne de caractères | |||
Mot de passe du Metastore | Mot de passe de l'utilisateur de la base de données du Metastore au nom duquel la connexion est effectuée. | MOT DE PASSE | |||
Threads multiples | Nombre de threads workers pour la collecte asynchrone des métadonnées. - Laissez ce paramètre vide si vous souhaitez que le pont d'import calcule la valeur, entre 1 et 6, en se basant sur l'architecture de la JVM et le nombre de cœurs du processeur disponibles. - Spécifiez une valeur numérique supérieure ou égale à 1 pour indiquer le nombre réel de threads. Si la valeur spécifiée n'est pas valide, un avertissement sera émis et cette valeur sera remplacée par 1. Si vous manquez de mémoire lors de la collecte asynchrone, réessayez avec un nombre plus petit. Si votre machine dispose de beaucoup de mémoire (par exemple 10 Go ou plus), vous pouvez essayer avec un plus grand nombre pour la collecte simultanée de nombreux documents. Notez que la définition d'un nombre trop important peut engendrer une diminution des performances en raison d'un conflit des ressources. |
NUMERIC | |||
Schéma | Spécifiez une liste de schémas Hive à importer. Si la liste est vide, tous les schémas disponibles sont importés. La liste peut contenir un ou plusieurs noms de schémas, séparés par un point-virgule (par exemple schema1; schema2). Vous pouvez spécifier des modèles de nom de schéma à l'aide du symbole de remplacement "%" ou du mot-clé "NOT". Les modèles supportent les inclusions et les exclusions. Voici un exemple de syntaxe d'inclusion, "A%; %B; %C%; D" essayant d'obtenir les noms de schémas qui : - commencent par A ou - finissent par B ou - contiennent C ou - sont D Pour exclure un modèle, ajoutez-y un préfixe 'NOT'. Voici un exemple de syntaxe d'exclusion, "A%; NOT %def" important des schémas dont le nom commence par "A" et ne termine pas par "def" La liste de schémas pouvant être une longue chaîne, elle peut être chargée à partir d'un fichier qui doit être situé dans ${MODEL_BRIDGE_HOME}\data\MIMB\parameters et avoir l'extension .txt. Dans ce cas, tous les schémas doivent être définis au sein de ce fichier comme seule valeur de ce paramètre, par exemple HIVE/ListOfSchema.txt |
REPOSITORY_SUBSET | |||
Table | Spécifiez une liste de tables Hive à importer. Si la liste est vide, toutes les tables disponibles sont importées. La liste peut contenir un ou plusieurs noms de tables, séparés par un point-virgule (par exemple sample_07; sample_08). Vous pouvez spécifier des modèles de nom de tables à l'aide du symbole de remplacement "%" ou du mot-clé "NOT". Les modèles supportent les inclusions et les exclusions. Voici un exemple de syntaxe d'inclusion, "A%; %B; %C%; D" essayant d'obtenir les noms de schémas qui : - commencent par A ou - finissent par B ou - contiennent C ou - sont D Pour exclure un modèle, ajoutez-y un préfixe 'NOT'. Voici un exemple de syntaxe d'exclusion, "A%; NOT %def" important des tables dont le nom commence par "A" et ne termine pas par "def" |
Chaîne de caractères | |||
Miscellaneous | INTRODUCTION Spécifiez les options Divers, commençant par un tiret et suivies éventuellement par des paramètres, par exemple : -connection.cast MyDatabase1="MICROSOFT SQL SERVER" Certaines options peuvent être utilisées plusieurs fois, si applicable, par exemple : -connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2; La liste d'options pouvant être une longue chaîne, il est possible de la charger à partir d'un fichier qui doit être situé dans ${MODEL_BRIDGE_HOME}\data\MIMB\parameters et avoir l'extension .txt. Dans ce cas, toutes les options doivent être définies au sein de ce fichier comme seule valeur de ce paramètre, par exemple ETL/Miscellaneous.txt OPTIONS DE L'ENVIRONNEMENT JAVA -java.memory <taille maximale de la mémoire Java> (anciennement -m) 1 Go par défaut sur un JRE de 64 bits ou tel que défini dans conf/conf.properties, par exemple -java.memory 8G -java.memory 8000M -java.parameters <options de ligne de commande de Java Runtime Environment> (anciennement -j) Cette option doit être la dernière dans le paramètre Divers car tout le texte après -java.parameters est passé tel quel à la JRE. Par ex. -java.parameters -Dname=value -Xms1G L'option suivante doit être définie lorsqu'un proxy est utilisé pour accéder à Internet (cela est essentiel pour accéder à https://repo.maven.apache.org/maven2/ et exceptionnellement à quelques autres sites d'outils) afin de télécharger les bibliothèques logicielles tierces nécessaires. Note : La majorité des proxys sont relatifs au chiffrement (HTTPS) du trafic extérieur (à l'entreprise) et à la confiance en le trafic intérieur pouvant accéder au proxy via HTTP. Dans ce cas, une requête HTTPS atteint le proxy via HTTP où le proxy la chiffre en HTTPS. -java.parameters -java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass OPTIONS D'IMPORT DU MODÈLE -model.name <nom modèle> Écrase le nom du modèle, par ex. -model.name "My Model Name" -prescript <nom script> Cette option permet d'exécuter un script avant l'exécution du pont. Le script doit se situer dans le répertoire bin (ou comme spécifié dans M_SCRIPT_PATH dans conf/conf.properties) et avoir une extension .bat ou .sh. Le chemin d'accès au script ne doit pas inclure de symbole relatif au répertoire parent (..). Le script doit retourner le code de sortie 0 pour indiquer un succès ou une autre valeur pour indiquer un échec. Par exemple : -prescript "script.bat arg1 arg2" -postscript <nom script> Cette option permet d'exécuter un script après l'exécution réussie du pont. Le script doit se situer dans le répertoire bin (ou comme spécifié dans M_SCRIPT_PATH dans conf/conf.properties) et avoir une extension .bat ou .sh. Le chemin d'accès au script ne doit pas inclure de symbole relatif au répertoire parent (..). Le script doit retourner le code de sortie 0 pour indiquer un succès ou une autre valeur pour indiquer un échec. Par exemple : -postscript "script.bat arg1 arg2" -cache.clear Vide le cache avant l'import et va exécuter un import complet avec collecte incrémentale. Si le modèle n'a pas été modifié et que le paramètre -cache.clear n'est pas utilisé (collecte incrémentale), une nouvelle version ne sera pas créée. Si le modèle n'a pas été modifié et que le paramètre -cache.clear n'est pas utilisé (collecte incrémentale), une nouvelle version ne sera pas créée. -backup <répertoire> Cette option permet de sauvegarder les métadonnées d'entrée du pont à des fins de débogage. Le <répertoire> fourni doit être vide. L'utilisation principale de cette option concerne les ponts d'import des data stores, en particulier les ponts d'import basés sur des bases de données JDBC. Notez que cette option n'est pas opérationnelle sur certains ponts, notamment : - les ponts d'import basés sur des fichiers (car des fichiers d'entrée peuvent être utilisés à la place) - les ponts d'import de référentiels d'intégration de données/BI (car les outils natifs de sauvegarde du référentiel peuvent être utilisés à la place) - Certains ponts d'import basés sur des API (par ex. basés sur COM) pour des raisons techniques. OPTIONS DES CONNEXIONS DE DONNÉES Les connexions de données sont produites par les ponts d'import, généralement à partir des outils ETL/DI et BI pour faire référence aux data stores sources et cibles qu'elles utilisent. Ces connexions de données sont ensuite utilisées par les outils de gestion des métadonnées pour connecter ces dernières (connexion des métadonnées) à leurs data stores réels (par exemple, bases de données, système de fichiers, etc.) afin de produire le lignage complet de flux de données et de l'analyse d'impact de bout en bout. Le nom des connexions de données doit être unique dans chaque modèle d'import. Les noms de connexion de données utilisés dans les outils de conception DI/BI sont utilisés quand cela est possible, sinon ils sont générés en étant courts mais significatifs, comme le nom de la base de données/du schéma, le chemin d'accès au système de fichiers ou l'URI (Uniform Resource Identifier). L'option suivante vous permet de manipuler les connexions. Ces options remplacent les options héritées -c, -cd et -cs. -connection.cast ConnectionName=ConnectionType Lance une connexion à une base de données générique (par exemple ODBC/JDBC) pour un type de base de données précis (par exemple ORACLE) pour une analyse SQL, par exemple -connection.cast "My Database"="MICROSOFT SQL SERVER". La liste des types de connexions aux data stores comprend : ACCESS APACHE CASSANDRA DB2/UDB DENODO GOOGLE BIGQUERY HIVE MYSQL NETEZZA ORACLE POSTGRESQL PRESTO REDSHIFT SALESFORCE SAP HANA SNOWFLAKE MICROSOFT SQL AZURE MICROSOFT SQL SERVER SYBASE SQL SERVER SYBASE AS ENTERPRISE TERADATA VECTORWISE HP VERTICA -connection.rename OldConnection=NewConnection Renomme une connexion existante, par exemple, par ex. -connection.rename OldConnectionName=NewConnectionName Plusieurs connexions de bases de données existantes peuvent être renommées et fusionnées en une nouvelle connexion de base de données, par exemple : -connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase -connection.split oldConnection.Schema1=newConnection Scinde une connexion de base de données en une ou plusieurs connexions de base de données. Une connexion de base de données peut être scindée en une connexion par schéma, par exemple : -connection.split MyDatabase Toutes les connexions de base de données peuvent être fractionnées en une connexion par schéma, par exemple : -connection.split * Une connexion de base de données peut être explicitement fractionnée en une nouvelle connexion de base de données en ajoutant un nom de schéma à une base de données, par exemple : -connection.split MyDatabase.schema1=MySchema1 -connection.map SourcePath=DestinationPath Mappe un chemin d'accès source à un chemin d'accès de destination. Cela est utile pour les connexions aux systèmes de fichiers lorsque différents chemins d'accès pointent vers le même objet (répertoire ou fichier). Sur Hadoop, un processus peut écrire dans un fichier CSV spécifié avec le chemin d'accès complet HDFS, tandis qu'un autre processus lit d'une table Hive implémentée (externe) par le même fichier spécifié à l'aide d'un chemin d'accès relatif avec un nom et une extension de fichier par défaut, par exemple : -connection.map /user1/folder=hdfs://host:8020/users/user1/folder/file.csv Sous Linux, il peut être fait référence à un répertoire (ou à un fichier) donné tel que /data par plusieurs liens symboliques tels que /users/john et /users/paul, par exemple : -connection.map /data=/users/John -connection.map /data=/users/paul Sous Windows, il peut être fait référence à un répertoire donné tel que C:\data par plusieurs lecteurs réseau tels que M: et N:, par exemple : -connection.map C:\data=M:\ -connection.map C:\data=N:\ -connection.casesensitive ConnectionName Écrase les règles de rapprochement insensibles à la casse par défaut pour les identifiants d'objets dans la connexion spécifiée, si le type du data store détecté supporte cette configuration (par ex. Microsoft SQL Server, MySQL etc.), par exemple : -connection.casesensitive "My Database" -connection.level AggregationLevel Spécifie le niveau d'agrégation pour les connexions externes, par exemple -connection.level catalog Liste des valeurs supportées : server (serveur) catalog (catalogue) schema (schéma)(par défaut) OPTIONS HIVE -i Importer les index. -d Active le mode débogage de Kerberos vous permettant de suivre l'exécution du pont du protocole Kerberos V5. Le pont définit la propriété système sun.security.krb5.debug comme "vrai". Si vous rencontrez un problème de configuration de Kerberos, activez l'option -d et envoyez les logs d'exécution au Support. -location.skip Désactive les connexions des tables aux fichiers externes -location.pattern <Hive location-based partition directories paths> Le pont essaye de détecter automatiquement les partitions pour les emplacements standards de partitions lorsque l'emplacement contient le nom de la table Hive et les noms des partitions. Vous pouvez étendre le processus de détection pour certaines ou toutes les partitions en les spécifiant dans ce paramètre. Spécifiez le modèle d'emplacement des partitions Hive. Séparez les différents chemins par un caractère , (ou ;). L'exemple suivant va créer un jeu de données relatif à un employé même si l'employé a d'autres dossiers -location.pattern hdfs://localhost:9000/user/hive/warehouse/employee -partition.import Importe tous les emplacements de partitions de tables dans un emplacement de table fusionné. -partition.allsamples Importe tous les échantillons d'emplacements de partitions de tables dans la propriété [PartitionLocationsWithSamples] -tblproperties.skip N'importez pas (Ignorer) les propriétés de la table (comme CreationTime, SerDe Library ou numRows, qui changent avec les données) indépendantes des métadonnées structurelles de la table. Ignorer ces propriétés de tables volatiles (comme les métadonnées opérationnelles) permet d'éviter la sur-détection des modifications et de fournir une collecte incrémentale plus efficace. -model.split (précédemment -multiModel) Scinde un modèle de base de données volumineux en multi-modèles (p. ex. un schéma par modèle). Avertissement : ceci est une option du système gérée par l'application qui appelle ce pont d'import et qui ne doit pas être configurée par les utilisateurs. |
Chaîne de caractères |
Mapping du pont
Meta Integration Repository (MIR) Métamodèle (se base sur le standard OMG CWM) |
"Google Cloud Platform (GCP) Hadoop Base de données Hive (HCatalog et Metastore via JDBC)" Métamodèle Apache Hive (Base de données) |
Mapping des commentaires |
Attribut | Colonne, Colonne de partition | Colonnes faisant partie de la partition sur la table. |
Commentaire | Commentaire | |
Description | Description | |
ExtraConstraint | Contrainte | |
InitialValue | Valeur initiale | |
Name (Nom) | Name (Nom) | |
NativeId | Identifiant natif | |
Facultatif | Nullable | |
Position | Position | |
Classe | Table | |
Commentaire | Commentaire | |
Description | Description | |
Name (Nom) | Name (Nom) | |
NativeId | Identifiant natif | |
ClassDiagram | Diagramme | |
Description | Description | |
Name (Nom) | Name (Nom) | |
ConnectionPackage | Dossier HDFS | |
Description | Description | |
Name (Nom) | Name (Nom) | |
DatabaseSchema | Base de données | |
Commentaire | Commentaire | |
Description | Description | |
Name (Nom) | Name (Nom) | |
NativeId | Identifiant natif | |
DesignPackage | Zone de sujet | |
Description | Description | |
Name (Nom) | Name (Nom) | |
FlatTextFile | Fichier externe | |
Description | Description | |
Name (Nom) | Name (Nom) | |
Index | Index, MISE EN CLUSTER | Mise en cluster par ou colonnes mises en buckets |
Commentaire | Commentaire | |
Description | Description | |
Name (Nom) | Name (Nom) | |
NativeId | Identifiant natif | |
Jointure | Relation logique | |
Description | Description | |
Name (Nom) | Name (Nom) | |
SQLViewAttribute | Colonne de vues | |
Commentaire | Commentaire | |
Description | Description | |
Name (Nom) | Name (Nom) | |
NativeId | Identifiant natif | |
Position | Position | |
SQLViewEntity | Visualiser | |
Commentaire | Commentaire | |
Description | Description | |
Name (Nom) | Name (Nom) | |
NativeId | Identifiant natif | |
ViewStatement | Afficher l'instruction | |
StoreConnection | Connexions de tables externes | |
Description | Description | |
Name (Nom) | Name (Nom) | |
StoreModel | Hive Model | |
Author | Author | |
Commentaire | Commentaire | |
CreationTime | Heure de création | |
Description | Description | |
ModificationTime | Heure de modification | |
Modificateur | Modificateur | |
Name (Nom) | Name (Nom) | |
NativeId | Identifiant natif | |
StoreType | Type de magasin | |
SystemMajorVersion | Version majeure du système | |
SystemMinorVersion | Version mineure du système | |
SystemReleaseVersion | Version du système | |
SystemType | Type du système | |
SystemTypeOld | Ancien type du système |