

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Conectores de streaming compatíveis
<a name="jobs-spark-streaming-connectors"></a>

Os conectores de streaming facilitam a leitura de dados provenientes de uma fonte de streaming e podem gravar dados em um coletor de streaming.

Estes são os conectores de streaming compatíveis:

**Conector do Amazon Kinesis Data Streams**

O [conector do Amazon Kinesis Data Streams](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-structured-streaming-kinesis.html) para Apache Spark permite criar aplicações e pipelines de streaming que consomem dados e gravam dados no Amazon Kinesis Data Streams. O conector comporta um consumo aprimorado de fan-out com um throughput de leitura dedicado de até 2 MB/segundo por fragmento. Por padrão, o Amazon EMR Sem Servidor 7.1.0 e versões posteriores incluem o conector, então você não precisa criar ou baixar nenhum pacote adicional. Para obter mais informações sobre o conector, consulte a [ spark-sql-kinesis-connectorpágina em GitHub](https://github.com/awslabs/spark-sql-kinesis-connector/).

Confira a seguir um exemplo de como iniciar a execução de um trabalho com a dependência do conector do 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 se conectar ao Kinesis Data Streams, configure a aplicação do EMR Sem Servidor com acesso à VPC e usar um endpoint da VPC para permitir acesso privado ou um gateway NAT para obter acesso público. Para obter mais informações, consulte [Configurar o acesso à VPC](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/vpc-access.html). Também é necessário garantir que o perfil de runtime do trabalho tenha as permissões de leitura e gravação necessárias para acessar os fluxos de dados essenciais. Para saber mais sobre como configurar um perfil de runtime de trabalho, consulte [Perfis de runtime do trabalho para o Amazon EMR Sem Servidor](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html). Para obter uma lista completa de todas as permissões necessárias, consulte a [spark-sql-kinesis-connector página em GitHub](https://github.com/awslabs/spark-sql-kinesis-connector/?tab=readme-ov-file#how-to-use-it).

**Conector do Apache Kafka**

O conector do Apache Kafka para streaming estruturado do Spark é um conector de código aberto da comunidade Spark, disponível em um repositório Maven. Esse conector facilita que as aplicações de streaming estruturado do Spark leiam e gravem dados no Apache Kafka autogerenciado e no Amazon Managed Streaming para Apache Kafka. Para obter mais informações sobre o conector, consulte o [Structured Streaming \$1 Kafka Integration Guide](https://spark.apache.org/docs/latest/structured-streaming-kafka-integration.html) na documentação do Apache Spark.

O exemplo a seguir demonstra como incluir o conector do Kafka na solicitação de execução de trabalho.

```
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>"
    }
}'
```

A versão do conector do Apache Kafka depende da versão do EMR Sem Servidor e da versão correspondente do Spark. Para encontrar a versão correta do Kafka, consulte o [Structured Streaming \$1 Kafka Integration Guide](https://spark.apache.org/docs/latest/structured-streaming-kafka-integration.html).

Para usar o Amazon Managed Streaming para Apache Kafka com autenticação do IAM, inclua outra dependência para permitir que o conector do Kafka se conecte ao Amazon MSK com IAM. Para obter mais informações, consulte o [aws-msk-iam-auth repositório em. GitHub](https://github.com/aws/aws-msk-iam-auth) Também é necessário garantir que o perfil de runtime do trabalho tenha as permissões necessárias do IAM. O exemplo a seguir demonstra como usar o conector com autenticação do IAM.

```
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 usar o conector do Kafka e a biblioteca de autenticação do IAM no Amazon MSK, configure a aplicação do EMR Sem Servidor com acesso à VPC. Suas sub-redes devem ter acesso à Internet e usar um gateway NAT para acessar as dependências do Maven. Para obter mais informações, consulte [Configurar o acesso à VPC](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/vpc-access.html). As sub-redes devem ter conectividade de rede para acessar o cluster do Kafka. Isso é verdade independentemente de o cluster do Kafka ser autogerenciado ou de você usar o Amazon Managed Streaming para Apache Kafka. 