Propriétés du tKuduOutput pour Apache Spark Batch - 7.3

Kudu

EnrichVersion
Cloud
7.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
EnrichPlatform
Studio Talend
task
Création et développement > Systèmes tiers > Composants Database > Composants Kudu
Gouvernance de données > Systèmes tiers > Composants Database > Composants Kudu
Qualité et préparation de données > Systèmes tiers > Composants Database > Composants Kudu

Ces propriétés sont utilisées pour configurer le tKuduOutput s'exécutant dans le framework de Jobs Spark Batch.

Le composant tKuduOutput Spark Batch appartient à la famille Bases de données.

Le composant de ce framework est disponible dans tous les produits Talend avec Big Data nécessitant une souscription et dans Talend Data Fabric.

Basic settings

Utiliser une configuration existante

Cochez cette case et sélectionnez le composant de connexion adéquat dans la liste Component list pour réutiliser les paramètres d'une connexion que vous avez déjà définie.

Server connection

Cliquez sur le bouton [+] pour ajouter autant de lignes que de nœuds maître Kudu à utiliser, une ligne par master.

Saisissez les emplacements et les ports d'écoute des nœuds maître du service Kudu à utiliser.

Ce composant supporte uniquement le service Apache Kudu installé sur Cloudera.

Pour des informations relatives à la compatibilité entre Apache Kudu et Cloudera, consultez la documentation Cloudera relative à ce sujet : Compatibility Matrix for Apache Kudu (en anglais).

Schema et Edit schema

Un schéma est une description de lignes. Il définit le nombre de champs (colonnes) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs.

  • Built-in : le schéma est créé et conservé localement pour ce composant seulement.

  • Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets.

 
Remarque : Le schéma d'un tableau Kudu doit déclarer une clé primaire, composée d'une ou plusieurs colonnes. Ces colonnes doivent être non-nullable, mais peuvent être du type booléen, float ou double.

Modifiez le schéma en cliquant sur Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir uniquement le schéma.

  • Change to built-in property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre Repository Content.

Kudu table

Saisissez le nom de la table à créer, modifier ou supprimer.

Action on table

Sélectionnez une opération à effectuer sur la table définie, vous pouvez effectuer l'une des opérations suivantes :

  • None : n'effectuer aucune opération de table.

  • Drop and create table : la table est supprimée et de nouveau créée.

  • Create table : la table n'existe pas et est créée.

  • Create table if does not exist : créer la table si elle n'existe pas encore.

  • Drop table if exists and create : supprimer la table si elle existe déjà, puis en créer une nouvelle.

Action on data

Select an action to be performed on data of the table defined.

  • Insert: Add new entries to the table. If duplicates are found, job stops.

  • Update: Make changes to existing entries.

  • Upsert: Update the record with the given reference. If the record does not exist, a new record would be inserted.

  • Delete: Remove entries corresponding to the input flow.

Replicas

Saisissez, sans guillemets doubles, le facteur de réplication de cette table, afin de créer des copies de votre table et de ses tablets (segments de tables contigus).

Pour plus d'informations concernant les tablets Kudu et les politiques de réplication Kudu, consultez Distribution and Fault Tolerance (en anglais).

Hash partitions

Lorsque vous créez une table Kudu, il est recommandé de définir comment elle est partitionnée. Par défaut, votre table n'est pas partitionnée.

  1. Cliquez sur le bouton [+] pour ajouter les colonnes se basant sur les lignes partitionnées par hachage. Par exemple, ajoutez une colonne host et une colonne metric.

    Ces colonnes doivent exister dans vos données et dans le schéma que vous avez défini dans le tKuduOutput.

  2. Dans la colonne Number of buckets, saisissez, sans guillemets doubles, le nombre de buckets à utiliser pour stocker les partitions. Ces buckets sont créés à la volée.

Lors de l'exécution, les lignes sont distribuées par la valeur de hachage dans l'un de ces buckets. Si vous laissez cette table Hash partitions vide, le partitionnement par hachage n'est pas appliqué durant la création de la table.

Pour plus d'informations concernant le partitionnement par hachage dans Kudu, consultez Hash partitioning (en anglais).

Range partitions

Lorsque vous créez une table Kudu, il est recommandé de définir comment elle est partitionnée. Par défaut, votre table n'est pas partitionnée.

  1. Cliquez sur le bouton [+] pour ajouter les colonnes de clé primaire se basant sur les lignes partitionnées en segments contigus. Par exemple, ajoutez une colonne time.

    Ces colonnes doivent exister dans vos données et dans le schéma que vous avez défini dans le tKuduOutput.

  2. Dans la colonne N. Partition, saisissez, sans guillemets doubles, un nombre à utiliser comme ID de la partition à créer. Par exemple, saisissez 1 pour créer la Partition 1.
  3. Dans les colonnes Lower boundary et Upper boundary, saisissez les limites entre lesquelles les lignes sont partitionnées. La limite supérieure est exclue et seules les données comprises entre les deux limites (y compris la limite inférieure) sont écrites dans la table Kudu.

    Par exemple, si vous partitionnez vos données en vous basant sur une colonne time de type Date et que le format de vos données temporelles est yyyy-mm-dd, vous pouvez configurer la limite basse à 2016-01-01 en saisissant, sans guillemets doubles, TalendDate.parseDate("yyyy-MM-dd", "2016-01-01"). Répétez l'opération pour configurer la limite supérieure à 2018-01-01. Seules les lignes ayant des dates comprises entre les deux limites entrent dans cette partition.

Lors de l'exécution, les lignes de ces colonnes sont distribuées en utilisant les valeurs des colonnes ajoutées à cette table Range partitions. Si vous laissez cette table vide, ce partitionnement n'est pas appliqué durant la création de la table.

Pour plus d'informations concernant le partitionnement par hachage dans Kudu, consultez Range partitioning (en anglais).

Die on error

Cochez cette case pour arrêter l'exécution du Job lorsqu'une erreur survient.

Utilisation

Règle d'utilisation

Ce composant est utilisé en tant que composant de fin et requiert un lien d'entrée.

Connexion à Spark

Dans l'onglet Spark Configuration de la vue Run, définissez la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, vous devez spécifier le répertoire du système de fichiers dans lequel ces fichiers .jar sont transférés afin que Spark puisse accéder à ces fichiers :
  • Yarn mode (Yarn Client ou Yarn Cluster) :
    • Lorsque vous utilisez Google Dataproc, spécifiez un bucket dans le champ Google Storage staging bucket de l'onglet Spark configuration.

    • Lorsque vous utilisez HDInsight, spécifiez le blob à utiliser pour le déploiement du Job, dans la zone Windows Azure Storage configuration de l'onglet Spark configuration.

    • Lorsque vous utilisez Altus, spécifiez le bucket S3 ou le stockage Azure Data Lake Storage (apercu technique) pour le déploiement du Job, dans l'onglet Spark configuration.
    • Lorsque vous utilisez Qubole, ajoutez tS3Configuration à votre Job pour écrire vos données métier dans le système S3 avec Qubole. Sans tS3Configuration, ces données métier sont écrites dans le système Qubole HDFS et détruites une fois que vous arrêtez votre cluster.
    • Lorsque vous utilisez des distributions sur site (on-premises), utilisez le composant de configuration correspondant au système de fichiers utilisé par votre cluster. Généralement, ce système est HDFS et vous devez utiliser tHDFSConfiguration.

  • Standalone mode : vous devez choisir le composant de configuration selon le système de fichiers que vous utilisez, comme tHDFSConfiguration ou tS3Configuration.

    Si vous utilisez Databricks sans composant de configuration dans votre Job, vos données métier sont écrites directement dans DBFS (Databricks Filesystem).

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.