Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Connecteurs de streaming pris en charge
Les connecteurs de streaming facilitent la lecture des données depuis une source de streaming et peuvent également écrire des données sur un récepteur de streaming.
Les connecteurs de streaming pris en charge sont les suivants :
Connecteur Amazon Kinesis Data Streams
Le connecteur Amazon Kinesis Data Streams pour Apache Spark permet de créer des applications de streaming et des pipelines qui consomment des données depuis Amazon Kinesis Data Streams et y écrivent des données. Le connecteur prend en charge une consommation de ventilateur améliorée avec un débit de lecture dédié pouvant atteindre 2 Mo/seconde par partition. Par défaut, Amazon EMR Serverless 7.1.0 et versions ultérieures inclut le connecteur, vous n'avez donc pas besoin de créer ou de télécharger de packages supplémentaires. Pour plus d'informations sur le connecteur, consultez la spark-sql-kinesis-connector page sur GitHub
L'exemple suivant montre comment démarrer une tâche avec la dépendance du connecteur Kinesis Data Streams.
aws emr-serverless start-job-run \ --application-id
<APPLICATION_ID>
\ --execution-role-arn<JOB_EXECUTION_ROLE>
\ --mode 'STREAMING' \ --job-driver '{ "sparkSubmit": { "entryPoint": "s3://<Kinesis-streaming-script>
", "entryPointArguments": ["s3://<DOC-EXAMPLE-BUCKET-OUTPUT>
/output"], "sparkSubmitParameters": "--conf spark.executor.cores=4 --conf spark.executor.memory=16g --conf spark.driver.cores=4 --conf spark.driver.memory=16g --conf spark.executor.instances=3 --jars /usr/share/aws/kinesis/spark-sql-kinesis/lib/spark-streaming-sql-kinesis-connector.jar" } }'
Pour vous connecter à Kinesis Data Streams, vous devez configurer EMR l'application Serverless VPC avec un accès et utiliser VPC un point de terminaison pour autoriser l'accès privé, ou utiliser NAT une passerelle pour obtenir un accès public. Pour plus d'informations, consultez la section Configuration de VPC l'accès. Vous devez également vous assurer que votre rôle d'exécution des tâches dispose des autorisations de lecture et d'écriture nécessaires pour accéder aux flux de données requis. Pour en savoir plus sur la configuration d'un rôle d'exécution de tâches, consultez la section Rôles d'exécution de tâches pour Amazon EMR Serverless. Pour une liste complète de toutes les autorisations requises, consultez la spark-sql-kinesis-connector page sur GitHub
Connecteur Apache Kafka
Le connecteur Apache Kafka pour le streaming structuré Spark est un connecteur open source créé par la communauté Spark et est disponible dans un référentiel Maven. Ce connecteur permet aux applications de streaming structuré Spark de lire et d'écrire des données depuis Apache Kafka autogéré et Amazon Managed Streaming for Apache Kafka. Pour plus d'informations sur le connecteur, consultez le guide d'intégration de Structured Streaming + Kafka
L'exemple suivant montre comment inclure le connecteur Kafka dans votre demande d'exécution de tâche.
aws emr-serverless start-job-run \ --application-id
<APPLICATION_ID>
\ --execution-role-arn<JOB_EXECUTION_ROLE>
\ --mode 'STREAMING' \ --job-driver '{ "sparkSubmit": { "entryPoint": "s3://<Kafka-streaming-script>
", "entryPointArguments": ["s3://<DOC-EXAMPLE-BUCKET-OUTPUT>
/output"], "sparkSubmitParameters": "--conf spark.executor.cores=4 --conf spark.executor.memory=16g --conf spark.driver.cores=4 --conf spark.driver.memory=16g --conf spark.executor.instances=3 --packages org.apache.spark:spark-sql-kafka-0-10_2.12:<KAFKA_CONNECTOR_VERSION>
" } }'
La version du connecteur Apache Kafka dépend de votre version EMR Serverless et de la version de Spark correspondante. Pour trouver la bonne version de Kafka, consultez le Guide d'intégration de Structured Streaming + Kafka
Pour utiliser Amazon Managed Streaming for Apache Kafka avec IAM authentification, vous devez inclure une autre dépendance pour permettre au connecteur Kafka de se connecter à Amazon avec. MSK IAM Pour plus d'informations, consultez le aws-msk-iam-auth référentiel sur GitHub
aws emr-serverless start-job-run \ --application-id
<APPLICATION_ID>
\ --execution-role-arn<JOB_EXECUTION_ROLE>
\ --mode 'STREAMING' \ --job-driver '{ "sparkSubmit": { "entryPoint": "s3://<Kafka-streaming-script>
", "entryPointArguments": ["s3://<DOC-EXAMPLE-BUCKET-OUTPUT>
/output"], "sparkSubmitParameters": "--conf spark.executor.cores=4 --conf spark.executor.memory=16g --conf spark.driver.cores=4 --conf spark.driver.memory=16g --conf spark.executor.instances=3 --packages org.apache.spark:spark-sql-kafka-0-10_2.12:<KAFKA_CONNECTOR_VERSION>
,software.amazon.msk:aws-msk-iam-auth:<MSK_IAM_LIB_VERSION>
" } }'
Pour utiliser le connecteur Kafka et la bibliothèque IAM d'authentification d'Amazon, MSK vous devez configurer l'application EMR Serverless avec VPC accès. Vos sous-réseaux doivent avoir accès à Internet et utiliser une NAT passerelle pour accéder aux dépendances Maven. Pour plus d'informations, consultez la section Configuration de VPC l'accès. Les sous-réseaux doivent disposer d'une connectivité réseau pour accéder au cluster Kafka. Cela est vrai que votre cluster Kafka soit autogéré ou que vous utilisiez Amazon Managed Streaming pour Apache Kafka Kafka.