Propriétés du tSqoopImport Standard - 7.1

Sqoop

Version
7.1
Language
Français (France)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Systèmes tiers > Outils de bases de données > Composants Sqoop
Gouvernance de données > Systèmes tiers > Outils de bases de données > Composants Sqoop
Qualité et préparation de données > Systèmes tiers > Outils de bases de données > Composants Sqoop

Ces propriétés sont utilisées pour configurer le tSqoopImport s'exécutant dans le framework de Jobs Standard.

Le composant tSqoopImport Standard appartient aux familles Big Data et File.

Le composant de ce framework est disponible dans tous les produits Talend avec Big Data et dans Talend Data Fabric.

Basic settings

mode

Sélectionnez le mode dans lequel Sqoop est appelé dans l'exécution du Job.

Use Commandline : l'interpréteur de commandes Sqoop est utilisé pour appeler Sqoop. Vous pouvez lire des donnés depuis HDFS ou HCatalog. Dans ce mode, vous devez déployer et exécuter le Job dans l'hôte où Sqoop est installé. Si vous êtes un utilisateur ou une utilisatrice avec souscription, il est recommandé d'installer et d'utiliser un Jobserver fourni par Talend dans cet hôte, pour exécuter le Job. Si vous utilisez l'une des solutions Talend avec Big Data, vous devez vous assurer que le Studio et Sqoop sont bien sur la même machine.

Use Java API : l'API Java est utilisée pour appeler Sqoop. Dans ce mode, le Job peut être exécuté localement dans le Studio Talend mais vous devez configurer la connexion à la distribution Hadoop à utiliser. Notez que JDK est requis pour l'exécution du Job en mode API Java et que les versions des kits JDK installés sur les deux machines doivent être compatibles entre elles. Par exemple, les versions sont les mêmes ou la version JDK de la machine Hadoop est plus récente.

Hadoop properties

Peut être Built-in ou Repository :
  • Built-in : saisissez les informations de configuration de la distribution Hadoop à utiliser localement, pour ce composant uniquement.

  • Repository : vous avez déjà créé la connexion Hadoop et l'avez stockée dans le Repository ; vous pouvez la réutiliser directement pour la configuration du composant et la création d'un Job. Pour plus d'informations concernant la création d'une connexion centralisée Hadoop, consultez Talend Big Data Getting Started Guide.

Distribution

Sélectionnez dans la liste le cluster que vous utilisez. Les options de la liste varient selon le composant que vous utilisez. Parmi ces options, les suivantes nécessitent une configuration spécifique :
  • Si disponible dans la liste de Distribution, l'option Microsoft HD Insight vous permet d'utiliser un cluster Microsoft HD Insight. Dans cette optique, vous devez configurer les connexions au cluster HD Insight et au service Windows Azure Storage du cluster dans les zones affichées.Pour des explications détaillées au sujet de ces paramètres, consultez Configurer manuellement la connexion.

  • Si vous sélectionnez Amazon EMR, consultez l'article suivant concernant la configuration de la connexion : Amazon EMR - Prise en main .

  • L'option Custom vous permet de vous connecter à un cluster différent des clusters de la liste, par exemple une distribution non supportée officiellement par Talend .

  1. Sélectionner Import from existing version pour importer une distribution de base officiellement supportée et ajouter manuellement les autres Jars requis non fournis par cette distribution.

  2. Sélectionner Import from zip pour importer le fichier .zip de configuration pour la distribution personnalisée à utiliser. Ce fichier .zip doit contenir les bibliothèques des différents éléments Hadoop/Spark et le fichier d'index de ces bibliothèques.

    Dans Talend Exchange, les membres de la communauté Talend ont partagé quelques fichiers zip de configuration prêts à l'emploi que vous pouvez télécharger depuis cette liste Hadoop configuration et utiliser directement dans votre connexion. Cependant, comme les différents projets relatifs à Hadoop ne cessent d'évoluer, il est possible que vous ne trouviez pas dans la liste le zip de configuration correspondant à votre distribution. Il est alors recommandé d'utiliser l'option Import from existing version, afin de se baser sur une distribution existante pour ajouter les .jars requis par votre distribution.

    Notez que les versions personnalisées ne sont pas officiellement supportées par Talend . Talend et sa Communauté fournissent l'opportunité de vous connecter à des versions personnalisées depuis le Studio mais ne peuvent garantir que la configuration de la version choisie sera simple, car de nombreuses versions et distributions d'Hadoop différentes sont disponibles. Il est recommandé de configurer ces connexions si vous avez une expérience suffisante de Hadoop et de Spark pour gérer par vous-même les problèmes pouvant survenir.

    Remarque :

    Dans cette boîte de dialogue, la case de la zone active doit être cochée, afin d'importer les fichiers .jar correspondant à la connexion créée entre la distribution personnalisée et ce composant.

    Pour un exemple étape par étape expliquant comment se connecter à une distribution personnalisée et partager cette connexion, consultez Connexion à une distribution Hadoop personnalisée.

Hadoop version

Sélectionnez la version de la distribution Hadoop que vous utilisez. Les options disponibles dépendent du composant que vous utilisez.

NameNode URI

Saisissez l'URI du NameNode Hadoop, nœud maître d'un système Hadoop. Par exemple, si vous avez choisi une machine nommée mastermode comme NameMode, son emplacement est hdfs://masternode:portnumber. Si vous utilisez WebHDFS, l'emplacement doit être webhdfs://masternode:portnumber ; WebHDFS avec SSL n'est pas supporté.

JobTracker Host

Cochez cette case et, dans le champ qui s'affiche, saisissez l'emplacement du ResourceManager de votre distribution. Par exemple tal-qa114.talend.lan:8050.

Cette propriété est requise lorsque la requête que vous souhaitez utiliser est exécutée dans Windows et est une requête Select. Par exemple, SELECT your_column_name FROM your_table_name

Vous pouvez continuer à configurer les paramètres suivants selon la configuration du cluster Hadoop à utiliser (si vous ne cochez pas la case d'un paramètre, alors la configuration de ce paramètre dans le cluster Hadoop à utiliser sera ignorée lors de l'exécution) :
  1. Cochez la case Set resourcemanager scheduler address et saisissez l'adresse de l'ordonnanceur (Scheduler) dans le champ qui apparaît.

  2. Cochez la case Set jobhistory address et saisissez l'emplacement du serveur JobHistory du cluster Hadoop à utiliser. Cela permet de stocker les métriques du Job courant sur le serveur de JobHistory.

  3. Cochez la case Set staging directory et saisissez le chemin d'accès au répertoire défini dans votre cluster Hadoop pour les fichiers temporaires créés par l'exécution de programmes. Généralement, ce répertoire se trouve sous la propriété yarn.app.mapreduce.am.staging-dir dans les fichiers de configuration comme yarn-site.xml ou mapred-site.xml de votre distribution.

  4. Allouez des volumes de mémoire aux calculs Map et Reduce et au service ApplicationMaster de YARN en cochant la case Set memory dans la vue Advanced settings.

  5. Cochez la case Set Hadoop user et saisissez le nom de l'utilisateur ou de l'utilisatrice avec lequel vous souhaitez exécuter le Job. Puisque les fichiers et répertoires dans Hadoop ont un auteur spécifique avec les droits appropriés de lecture ou d'écriture, ce champ vous permet d'exécuter le Job directement avec l'utilisateur ou l'utilisatrice ayant les droits d'accès appropriés au fichier ou répertoire à traiter.

  6. Cochez la case Use datanode hostname pour permettre au Job d'accéder aux nœuds de données via leurs hébergeurs. Cela permet de configurer la propriété dfs.client.use.datanode.hostname à true. Lorsque vous vous connectez à un système de fichiers S3N, vous devez cocher cette case.

Pour plus d'informations concernant ces paramètres, consultez la documentation ou contactez l'administrateur du cluster Hadoop à utiliser.

Pour plus d'informations concernant le framework Hadoop Map/Reduce, consultez le tutoriel Map/Reduce dans la documentation de Apache Hadoop : http://hadoop.apache.org (en anglais).

Use kerberos authentication

Si vous accédez au cluster Hadoop fonctionnant avec la sécurité Kerberos, cochez cette case, puis saisissez le Principal Name de Kerberos pour le NameNode dans le champ affiché. Cela vous permet d'utiliser votre nom d'utilisateur ou d'utilisatrice pour vous authentifier, en les comparant aux informations stockées dans Kerberos.
  • Si ce cluster est un cluster MapR de version 5.0.0 ou postérieure, vous pouvez paramétrer la configuration de l'authentification par ticket MapR en plus ou comme une alternative en suivant les explications dans Connexion sécurisée à MapR.

    Gardez à l'esprit que cette configuration génère un nouveau ticket de sécurité MapR pour le nom d'utilisateur défini dans le Job dans chaque exécution. Si vous devez réutiliser un ticket existant provenant du même utilisateur, laissez décochées les cases Force MapR ticket authentication et Use Kerberos authentication. MapR devrait pouvoir trouver automatiquement ce ticket à la volée.

De plus, comme ce composant effectue des calculs Map/Reduce, vous devez également authentifier les services associés, comme le serveur de l'historique des Jobs et le gestionnaire de ressources ou le JobTracker, selon votre distribution, dans le champ correspondant. Ces principaux se trouvent dans les fichiers de configuration de votre distribution. Par exemple, dans une distribution CDH4, le principal du gestionnaire de ressource est configuré dans le fichier yarn-site.xml et le principal de l'historique des Jobs dans le fichier mapred-site.xml.

Cette case est disponible ou non selon la distribution Hadoop à laquelle vous vous connectez.

Use a keytab to authenticate

Cochez la case Use a keytab to authenticate pour vous connecter à un système utilisant Kerberos à l'aide d'un fichier keytab. Un fichier Keytab contient les paires des Principaux et clés cryptées Kerberos. Vous devez saisir le principal à utiliser dans le champ Principal et le chemin d'accès au fichier keytab dans le champ Keytab. Ce fichier keytab doit être stocké sur la machine où s'exécute votre Job, par exemple, sur un serveur de Jobs Talend.

l'utilisateur ou l'utilisatrice exécutant un Job utilisant un fichier Keytab n'est pas nécessairement celui désigné par un Principal mais doit avoir le droit de lire le fichier Keytab utilisé. Par exemple, le nom d'utilisateur ou d'utilisatrice que vous utilisez pour exécuter le Job est user1 et le principal à utiliser est guest. Dans cette situation, assurez-vous que user1 a les droits de lecture pour le fichier keytab à utiliser.

Hadoop user name

Saisissez le nom de l'utilisateur avec lequel vous souhaitez exécuter le Job. Puisque les fichiers et répertoires dans Hadoop ont un auteur spécifique avec les droits appropriés de lecture ou d'écriture, ce champ vous permet d'exécuter le Job directement avec l'utilisateur ayant les droits d'accès appropriés au fichier ou répertoire à traiter. Notez que ce champ peut n'être pas disponible selon la distribution que vous utilisez.

JDBC property

Peut être Built-in ou Repository :
  • Built-in : saisissez les informations de configuration de la distribution Hadoop à utiliser localement, pour ce composant uniquement.

  • Repository : vous avez déjà créé la connexion Hadoop et l'avez stockée dans le Repository ; vous pouvez la réutiliser directement pour la configuration du composant et la création d'un Job. Pour plus d'informations concernant la création d'une connexion à la base de données centralisée, consultez le Guide utilisateur du Studio Talend.

    Notez que seules les connexions de type General JDBC stockées dans le Repository sont supportées.

Connection

Saisissez l'URL JDBC utilisée pour vous connecter à la base de données dans laquelle les données source sont stockées.

User name et Password

Saisissez les informations d'authentification utilisées pour vous connecter à la base de données source.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles et cliquez sur OK afin de sauvegarder les paramètres.

Si votre mot de passe est stocké dans un fichier, cochez la case The password is stored in a file et saisissez le chemin d'accès à ce fichier dans le champ File path qui s'affiche.
  • Ce fichier peut être stocké sur la machine où le Job est exécuté ou dans le système HDFS du cluster Hadoop à utiliser.

  • Le mot de passe stocké dans ce fichier ne doit pas contenir "\n" (nouvelle ligne) à la fin. Vous ne devez pas insérer de nouvelle ligne, même vide, à la fin du mot de passe.

Cette fonctionnalité est disponible selon la version de Sqoop que vous utilisez.

Jar du pilote

Quel que soit le mode, Use Commandline ou Java API, vous devez ajouter le fichier du pilote de la base de données à utiliser, dans le dossier lib de la distribution Hadoop que vous utilisez. Pour ce faire, utilisez la table Driver JAR afin d'ajouter ce fichier de pilote pour le Job en cours de construction.

Class name

Saisissez entre guillemets doubles le nom de la classe pour le pilote spécifié. Par exemple, pour le pilote RedshiftJDBC41-1.1.13.1013.jar, le nom à saisir est com.amazon.redshift.jdbc41.Driver.

Lors de l'exécution d'une requête pour importer des données depuis une base de données Oracle, si vous rencontrez l'erreur suivante :
ORA-00933: SQL command not properly ended
changez le nom de classe du pilote dans le champ Class name de votre Job de oracle.jdbc.driver.OracleDriver en une chaîne de caractères vide, c'est-à-dire, "".

Table Name

Saisissez le nom de la table à transférer dans HDFS.

Ce champ est indisponible lorsque vous utilisez le mode de requêtes de forme libre, en cochant la case Use query.

Format du fichier

Sélectionnez un format de fichier pour les données à transférer :
  • textfile

  • sequencefile

  • Avro file

  • Parquet file : la version de Sqoop doit être 1.4.6.

Delete target directory

Cochez cette case pour supprimer le répertoire cible du transfert.

Append

Cochez cette case pour écrire à la suite d'un ensemble de données existant dans HDFS les données transférées.

Compresser

Cochez cette case pour activer la compression.

Direct

Cochez cette case pour utiliser le chemin d'import rapide.

Specify columns

Cochez cette case pour afficher le tableau Columns dans lequel vous souhaitez spécifier les colonnes de données que vous souhaitez transférer dans HDFS.

Use HERE clause

Cochez cette case pour utiliser une clause WHERE contrôlant les lignes à transférer. Dans le champ activé, saisissez la condition utilisée pour sélectionner les lignes de données. Par exemple, saisissez id > 400 pour importer uniquement les lignes pour lesquelles la colonne id a une valeur supérieure à 400.

Use query

Cochez cette case pour utiliser le mode de requête de forme libre, fourni par Sqoop.

Une fois la case cochée, vous pouvez saisir librement la requête que vous souhaitez utiliser.

Spécifiez le répertoire cible. Si Sqoop importe les données en parallèle, spécifiez également l'argument Split by.

Avertissement :

Une fois les requêtes saisies, la valeur de l'argument --fields-terminated-by peut uniquement être paramétrée à "\t" dans la table Additional arguments de l'onglet Advanced settings.

Specify Target Dir

Cochez cette case afin de saisir le chemin d'accès au fichier cible dans lequel vous souhaitez transférer les données source.

Cet emplacement est un nouveau répertoire. Si ce n'est pas le cas, cochez la case Append.

Specify Split by

Cochez cette case puis saisissez le nom de la colonne que vous souhaitez utiliser comme colonne de division, afin de diviser la charge de travail.

Par exemple, pour une table où la colonne id est la colonne clé, saisissez tablename.id. Sqoop divise les données à transférer selon la valeur de leur ID et les importe en parallèle.

Specify Number of Mappers

Cochez cette case afin de préciser le nombre de tâches de "map" (processus parallèles) utilisé pour effectuer le transfert des données.

Si vous ne souhaitez pas que Sqoop travaille en parallèle, saisissez 1 dans le champ affiché.

Print Log

Cochez cette case pour activer la case Verbose.

Verbose

Cochez cette case pour imprimer plus d'informations pendant que vous travaillez, par exemple des informations de débogage.

Advanced settings

Use MySQL default delimiters

Cochez cette case pour utiliser les séparateurs MySQL par défaut. Cette case est disponible en mode Commandline.

Define Java mapping

Sqoop fournit une configuration par défaut, mappant la plupart des types SQL aux types Java correspondants. Si vous devez utiliser votre mapping personnalisé, pour écraser les mappings par défaut au moment de l'exécution, cochez cette case et définissez les mappings à utiliser dans la table qui apparaît.

Define Hive mapping

Sqoop fournit une configuration par défaut, mappant la plupart des types SQL aux types Hive correspondants. Si vous devez utiliser votre mapping personnalisé, pour écraser les mappings par défaut au moment de l'exécution, cochez cette case et définissez les mappings à utiliser dans la table qui apparaît.

Additional arguments

Complétez ce tableau pour utiliser des arguments supplémentaires, si nécessaire.

En ajoutant des arguments supplémentaires, vous pouvez effectuer de multiples opérations en une seule transaction. Par exemple, vous pouvez utiliser --hive-import et --hive-table en mode Commandline ou hive.import et hive.table.name en mode Java API pour créer une table Hive et écrire des données dans cette table lors de l'exécution de la transaction écrivant des données dans HDFS. Pour plus d'informations concernant les arguments Sqoop disponibles en mode Commandline et en mode Java API, consultez Arguments supplémentaires.

Use speed parallel data transfers

Cochez cette case pour permettre des transferts de données rapides et parallèles entre la base de données Teradata et la distribution Hadoop Hortonworks. La table Specific params et la case Use additional params apparaissent vous permettant de spécifier les paramètres requis pour les transferts parallèles.
  • Dans la table Specific params, deux colonnes sont disponibles :
    • Argument : dans la liste, sélectionnez les paramètres selon vos besoins. Ce sont les paramètres les plus communs pour les transferts parallèles.

    • Value : saisissez la valeur des paramètres.

  • En cochant la case Additional params, le champ Specific additional params s'affiche. Dans ce champ, vous pouvez saisir les paramètres Teradata que vous souhaitez utiliser mais qui ne sont pas modifiables dans la table Specific params. La syntaxe de ce paramètre est -Dparameter=value. Si vous saisissez plus d'un paramètre dans ce champ, séparez-les à l'aide d'un espace.

Vous devez vous assurer que Hortonworks Connector for Teradata a été installé dans votre cluster Hortonworks. Le dernier connecteur peut être téléchargé à partir du site Web d'Hortonworks et installé en suivant les explications du fichier http://hortonworks.com/wp-content/uploads/2014/02/bk_HortonworksConnectorForTeradata.pdf (en anglais). Dans ce document, vous pouvez également trouver une explication détaillée de chaque paramètre disponible pour le transfert parallèle.

Cette option est disponible uniquement un mode Use Commandline.

Hadoop Properties

Le Studio Talend utilise une configuration par défaut pour son moteur, afin d'effectuer des opérations dans une distribution Hadoop. Si vous devez utiliser une configuration personnalisée dans une situation spécifique, renseignez dans cette table la ou les propriété(s) à personnaliser. Lors de l'exécution, la ou les propriété(s) personnalisée(s) va (vont) écraser celle(s) par défaut.
  • Notez que, si vous utilisez les métadonnées stockées centralement dans le Repository, cette table hérite automatiquement des propriétés définies dans ces métadonnées et passe en lecture seule jusqu'à ce que, dans la liste Property type, vous passiez de Repository à Built-in.

Pour plus d'informations concernant les propriétés requises par Hadoop et ses systèmes associés, tels que HDFS et Hive, consultez la documentation de la distribution Hadoop utilisée ou consultez la documentation d'Apache Hadoop sur http://hadoop.apache.org/docs en sélectionnant la version de la documentation souhaitée. À titre d'exemple, les liens vers certaines propriétés sont listés ci-après :

Mapred job map memory mb et Mapred job reduce memory mb

Vous pouvez personnaliser les opérations map et reduce en cochant la case Set memory, pour configurer les allocations de mémoire pour ces opérations à effectuer par le système Hadoop.

Dans ce cas, vous devez saisir les valeurs que vous souhaitez utiliser pour la mémoire allouée aux opérations map et reduce dans les champs Mapred job map memory mb et Mapred job reduce memory mb, respectivement. Par défaut, les valeurs sont toutes les deux 1000, ce qui est normalement adapté pour l'exécution de ces opérations.

Les paramètres de mémoire à définir sont Map (in Mb), Reduce (in Mb) et ApplicationMaster (in Mb). Ces champs permettent d'allouer dynamiquement de la mémoire aux opérations map et reduce et à l'ApplicationMaster de YARN.

Path separator in server

Laissez le champ Path separator in server tel quel, sauf si vous changez le séparateur utilisé par la machine hôte de votre distribution Hadoop pour sa variable PATH. En d'autres termes, changez le séparateur si celui-ci n'est pas le signe deux points (:). Dans ce cas, vous devez remplacer cette valeur par celle utilisée dans votre hôte.

tStatCatcher Statistics

Cochez cette case afin de collecter les données au niveau du composant.

Variables globales

Global Variables

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, lorsque le composant contient cette case.

EXIT_CODE : code de sortie de la commande distante. Cette variable est une variable After et retourne un entier.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. À partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend .

Utilisation

Règle d'utilisation

Ce composant est utilisé en standalone. Il respecte les prérequis Sqoop. Vous devez connaître Sqoop pour l'utiliser.

Il est recommandé d'utiliser une version 1.4+ de Sqoop afin de tirer entièrement parti des fonctionnalités des composants.

Pour plus d'informations concernant Sqoop, consultez (en anglais) le manuel de Sqoop sur le site : http://sqoop.apache.org/docs/.

Prérequis

La distribution Hadoop doit être correctement installée afin de garantir les interactions avec le Studio Talend . La liste suivante présente des informations d'exemple relatives à MapR.

  • Assurez-vous d'avoir installé le client MapR sur la même machine que le Studio et d'avoir ajouté la bibliothèque client de MapR dans la variable PATH de cette machine. D'après la documentation de MapR, la ou les bibliothèques du client MapR correspondant à chaque OS peuvent être trouvées dans MAPR_INSTALL\ hadoop\hadoop-VERSION\lib\native. Par exemple, pour Windows, la bibliothèque est lib\MapRClient.dll dans le fichier Jar du client MapR. Pour plus d'informations, consultez la page suivante sur le site de MapR : http://www.mapr.com/blog/basic-notes-on-configuring-eclipse-as-a-hadoop-development-environment-for-mapr (en anglais).

    Si vous n'ajoutez pas de librairie, il est possible que vous rencontriez l'erreur suivante : no MapRClient in java.library.path.

  • Configurez l'argument -Djava.library.path, par exemple, dans la zone Job Run VM arguments de la vue Run/Debug de la boîte de dialogue Preferences dans le menu Window. Cet argument fournit au Studio le chemin d'accès à la bibliothèque native du client MapR. Cela permet aux utilisateurs et utilisatrices en souscription d'utiliser entièrement l'aperçu des données (Data viewer) afin de visualiser localement dans le Studio les données stockées dans MapR.

Pour plus d'informations concernant l'installation d'une distribution Hadoop, consultez le manuel correspondant à la distribution Hadoop que vous utilisez.

Limitation

Si vous avez sélectionné le mode Use Commandline, vous devez utiliser l'hôte où Sqoop est installé pour exécuter le Job à l'aide de ce composant.

Connections

Liens de sortie (de ce composant à un autre) :

Trigger : Run if, On Subjob Ok, On Subjob Error.

Liens d'entrée (d'un autre composant à celui-ci) :

Row : Iterate

Trigger : Run if, On Subjob Ok, On Subjob Error, On Component Ok, On Component Error.

Pour plus d'informations concernant les liens, consultez le Guide utilisateur du Studio Talend .