Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Conectores de streaming admitidos
Los conectores de streaming facilitan la lectura de datos de una fuente de streaming y también pueden escribir datos en un receptor de streaming.
Los siguientes son los conectores de streaming admitidos:
Conector Amazon Kinesis Data Streams
El conector Amazon Kinesis Data Streams para Apache Spark permite crear aplicaciones y canalizaciones de streaming que consumen datos del Amazon Kinesis Data Streams, además de escribir en él. El conector permite aumentar el consumo del ventilador con una velocidad de lectura específica de hasta 2 MB/segundo por partición. De forma predeterminada, Amazon EMR Serverless 7.1.0 y las versiones posteriores incluyen el conector, por lo que no es necesario compilar ni descargar ningún paquete adicional. Para obtener más información sobre el conector, consulte la spark-sql-kinesis-connectorpágina en. GitHub
A continuación, se muestra un ejemplo de cómo iniciar la ejecución de un trabajo con la dependencia del conector de 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"
}
}'
Para conectarse a Kinesis Data Streams, debe configurar EMR la aplicación Serverless VPC con acceso y usar VPC un punto final para permitir el acceso privado, o usar NAT una puerta de enlace para obtener acceso público. Para obtener más información, consulte Configuración del acceso. VPC Asimismo, debe asegurarse de que su rol de tiempo de ejecución de trabajos tenga los permisos de lectura y escritura necesarios para obtener acceso a los flujos de datos requeridos. Para obtener más información sobre cómo configurar un rol de ejecución de tareas, consulte Funciones de ejecución de tareas para Amazon EMR Serverless. Para obtener una lista completa de todos los permisos necesarios, consulte la spark-sql-kinesis-connector página en GitHub
Conector Kafka de Apache
El conector Apache Kafka para el streaming estructurado de Spark es un conector de código abierto de la comunidad de Spark y está disponible en un repositorio de Maven. Este conector facilita que las aplicaciones de streaming estructurado de Spark lean y escriban datos en Apache Kafka autogestionado y Amazon Managed Streaming para Apache Kafka. Para obtener más información sobre el conector, consulte la Guía de integración entre Structured Streaming y Kafka
En el siguiente ejemplo se muestra cómo incluir el conector Kafka en la solicitud de ejecución de trabajos.
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 versión del conector Apache Kafka depende de la versión de EMR Serverless y de la versión de Spark correspondiente. Para encontrar la versión correcta de Kafka, consulte la Guía de integración entre Structured Streaming y Kafka.
Para utilizar Amazon Managed Streaming for Apache Kafka Kafka con IAM autenticación, debe incluir otra dependencia para permitir que el conector de Kafka se conecte a Amazon con. MSK IAM Para obtener más información, consulte el aws-msk-iam-auth repositorio
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>
"
}
}'
Para utilizar el conector Kafka y la biblioteca de IAM autenticación de Amazon, MSK debe configurar la aplicación EMR Serverless con VPC acceso. Sus subredes deben tener acceso a Internet y utilizar una NAT puerta de enlace para acceder a las dependencias de Maven. Para obtener más información, consulte Configuración del acceso. VPC Las subredes deben tener conectividad de red para acceder al clúster de Kafka. Esto ocurre independientemente de si su clúster de Kafka es autogestionado o si utiliza Amazon Managed Streaming para Apache Kafka.