Utilisation de Jobs Amazon Kinesis et Big Data Streaming

EnrichVersion
6.4
EnrichProdName
Talend Data Fabric
Talend Real-Time Big Data Platform
task
Qualité et préparation de données > Systèmes tiers > Composants Messaging (Intégration) > Composants Kinesis
Création et développement > Systèmes tiers > Composants Messaging (Intégration) > Composants Kinesis
Gouvernance de données > Systèmes tiers > Composants Messaging (Intégration) > Composants Kinesis
EnrichPlatform
Studio Talend

Utilisation de Jobs Amazon Kinesis et Big Data Streaming

Ce scénario vous explique comment utiliser des Jobs Amazon Kinesis et Big Data Streaming dans le framework Spark Streaming.

Ce scénario s'applique uniquement aux solutions Talend Real-time Big Data Platform et Talend Data Fabric.

Cet exemple utilise Talend Real-Time Big Data Platform v6.1. De plus, il utilise les produits sous licence, fournis par Amazon : Amazon EC2, Amazon Kinesis et Amazon EMR.

Dans cet exemple, vous allez construire le Job suivant, afin de lire et écrire des données dans un flux Amazon Kinesis, puis d'afficher les résultats dans la console.

Lancement d'un flux Amazon Kinesis

Procédure

  1. Dans la page d'accueil d'Amazon Web Services, allez à Kinesis.
  2. Cliquez sur Go to Kinesis Streams et cliquez sur Create Stream.
  3. Dans le champ Stream Name, saisissez le nom du flux Kinesis et fournissez le nombre de shards.

    Dans cet exemple, 1 shard suffit.

  4. Cliquez sur Create. Vous arrivez sur la liste des flux Kinesis. Votre nouveau flux sera disponible lorsque son statut sera modifié, de CREATING à ACTIVE. Votre flux est prêt.

Écriture de données dans un flux Amazon Kinesis

Avant de commencer

Dans cette section, supposez que vous avez un cluster Amazon EMR installé et en cours de fonctionnement et que vous avez créé la métadonnée de connexion correspondante dans le référentiel. Vous avez également créé un flux Amazon Kinesis.

Procédure

  1. Créez un Job Big Data Streaming utilisant le framework Spark.
  2. Dans cet exemple, les données, qui seront écrites dans Amazon Kinesis, sont générées à l'aide d'un composant tRowGenerator.
  3. Les données doivent être sérialisées au format byte array avant d'être écrites dans le flux Amazon Kinesis. Ajotuez un composant tWriteDelimitedFields et connectez-le au tRowGenerator.
  4. Configurez le Output type à byte[].
  5. Pour écrire les données dans votre flux Kinesis, ajoutez un composant tKinesisOutput et connectez le composant tWriteDelimitedFields à celui-ci.
  6. Fournissez vos informations d'authentification à Amazon.
  7. Pour accéder à votre flux Kinesis, fournissez le nom du flux et l'URL de l'endpoint correspondant.

    Pour obtenir la bonne URL d'endpoint, consultez AWS Regions and Endpoints (en anglais).

  8. Saisissez le nombre de shards, comme spécifié lors de la création du flux Kinesis.

Lecture de données depuis un flux Amazon Kinesis

Procédure

  1. Pour lire des données d'un flux Kinesis, ajoutez un composant tKinesisInput et connectez le composant tRowGenerator à celui-ci à l'aide d'un lien InParallel.
  2. Dans la vue Basic settings du composant tKinesisInput, fournissez vos informations d'authentification à Amazon.
  3. Saisissez le nom de votre flux Kinesis et l'URL de l'endpoint correspondant.
  4. Sélectionnez l'option Explicitly set authentication parameters et saisissez votre Région, comme mentionné dans AWS Regions and Endpoints (en anglais).
  5. Ajoutez un composant tReplicate et connectez-le au tKinesisInput.

    L'objectif du composant tReplicate est d'avoir un composant de traitement dans le Job. Sinon, l'exécution du Job échoue. Le tReplicate permet au Job de compiler sans modifier les données.

  6. Ajoutez un composant tExtractDelimitedFields et reliez-le au composant tReplicate.

    Le tExtractDelimitedFields extrait les données du message sérialisé généré par le composant tKinesisInput.

  7. Ajoutez un tLogRow pour afficher la sortie dans la console et, dans sa vue Basic settings, sélectionnez Table (print values in cells of a table) pour afficher les données sous forme de table.

Configuration d'un Job Big Data Streaming utilisant le framework Spark Streaming

Avant d'exécuter votre Job, vous devez le configurer pour utiliser votre cluster Amazon EMR.

Procédure

  1. Comme votre Job s'exécute sur Spark, il est nécessaire d'ajouter un composant tHDFSConfiguration et de le configurer pour utiliser la métadonnée de connexion à HDFS provenant du référentiel.
  2. Dans la vue Run, cliquez sur l'onglet Spark Configuration.
  3. Dans le panneau Cluster Version, configurez votre Job pour qu'il utilise votre métadonnée de connexion au cluster.
  4. Dans le champ Batch size, saisissez 2000 ms.
  5. Vous allez paramétrer des propriétés avancées, vous devez donc sélectionner Built-In dans la liste Property Type.
  6. Dans le panneau Tuning, cochez la case Set tuning properties et configurez les champs comme suit.
  7. Exécutez votre Job.

    L'affichage des données dans la console prend quelques minutes.