

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Lavorare con connettori origine dati per Apache Spark
<a name="connectors-spark"></a>

Alcuni connettori di origine dati Athena sono disponibili come connettori DSV2 Spark. I nomi dei DSV2 connettori Spark hanno un `-dsv2` suffisso (ad esempio,). `athena-dynamodb-dsv2`

Di seguito sono riportati i DSV2 connettori attualmente disponibili, il nome `.format()` della classe Spark e i collegamenti alla documentazione corrispondente di Amazon Athena Federated Query:


| DSV2 connettore | Spark .format() nome classe | Documentazione | 
| --- | --- | --- | 
| athena-cloudwatch-dsv2 | com.amazonaws.athena.connectors.dsv2.cloudwatch.CloudwatchTableProvider | [CloudWatch](connectors-cloudwatch.md) | 
| athena-cloudwatch-metrics-dsv2 | com.amazonaws.athena.connectors.dsv2.cloudwatch.metrics.CloudwatchMetricsTableProvider | [CloudWatch metriche](connectors-cwmetrics.md) | 
| athena-aws-cmdb-dsv2 | com.amazonaws.athena.connectors.dsv2.aws.cmdb.AwsCmdbTableProvider | [CMDB](connectors-cmdb.md) | 
| athena-dynamodb-dsv2 | com.amazonaws.athena.connectors.dsv2.dynamodb.DDBTableProvider | [DynamoDB](connectors-dynamodb.md) | 

Per scaricare `.jar` i file per i DSV2 connettori, visita la DSV2 GitHub pagina [Amazon Athena Query Federation](https://github.com/awslabs/aws-athena-query-federation-dsv2) e consulta la sezione **Releases, **Release *<version>*****, **Assets**.

## Specificare il jar a Spark
<a name="connectors-spark-specifying-the-jar-to-spark"></a>

Per utilizzare i DSV2 connettori Athena con Spark, devi inviare il `.jar` file relativo al connettore all'ambiente Spark che stai utilizzando. Le sezioni seguenti descrivono casi specifici.

### Athena per Spark
<a name="connectors-spark-ate"></a>

Per informazioni sull'aggiunta di file `.jar` personalizzati e configurazioni personalizzate ad Amazon Athena per Apache Spark, consulta [Utilizzare le proprietà Spark per specificare una configurazione personalizzata](notebooks-spark-custom-jar-cfg.md).

### General Spark
<a name="connectors-spark-general"></a>

Per passare il file `.jar` del connettore a Spark, usa il comando `spark-submit` e specifica il file `.jar` nell'opzione `--jars`, come nell'esempio seguente:

```
spark-submit \ 
  --deploy-mode cluster \ 
  --jars https://github.com/awslabs/aws-athena-query-federation-dsv2/releases/download/some_version/athena-dynamodb-dsv2-some_version.jar
```

### Spark di Amazon EMR
<a name="connectors-spark-emr"></a>

Per eseguire un comando `spark-submit` con il parametro `--jars` su Amazon EMR, devi aggiungere un passaggio al cluster Spark di Amazon EMR. Per informazioni dettagliate su come utilizzare `spark-submit` su Amazon EMR, consulta la [Aggiungi fase Spark](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-submit-step.html) nella *Guida di rilascio di Amazon EMR*.

### AWS Glue ETL Spark
<a name="connectors-spark-glue-etl"></a>

Per AWS Glue ETL, puoi passare l'URL GitHub .com del `.jar` file all'`--extra-jars`argomento del comando. `aws glue start-job-run` La AWS Glue documentazione descrive il `--extra-jars` parametro come se accettasse un percorso Amazon S3, ma il parametro può anche accettare un URL HTTPS. Per ulteriori informazioni, consulta la [Documentazione di riferimento dei parametri dei processi](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html#w5aac32c13c11) nella *Guida per gli sviluppatori di AWS Glue *.

## Eseguire query del connettore su Spark
<a name="connectors-spark-querying-the-connector"></a>

Per inviare l'equivalente della tua query esistente federata di Athena su Apache Spark, utilizza la funzione `spark.sql()`. Ad esempio, supponi che intendi utilizzare la seguente query Athena su Apache Spark.

```
SELECT somecola, somecolb, somecolc 
FROM ddb_datasource.some_schema_or_glue_database.some_ddb_or_glue_table 
WHERE somecola > 1
```

Per eseguire la stessa query su Spark utilizzando il connettore Amazon Athena DSV2 DynamoDB, usa il codice seguente:

```
dynamoDf = (spark.read 
    .option("athena.connectors.schema", "some_schema_or_glue_database") 
    .option("athena.connectors.table", "some_ddb_or_glue_table") 
    .format("com.amazonaws.athena.connectors.dsv2.dynamodb.DDBTableProvider") 
    .load()) 
 
dynamoDf.createOrReplaceTempView("ddb_spark_table") 
 
spark.sql(''' 
SELECT somecola, somecolb, somecolc 
FROM ddb_spark_table 
WHERE somecola > 1 
''')
```

## Specificare i parametri
<a name="connectors-spark-parameters"></a>

Le DSV2 versioni dei connettori delle sorgenti dati Athena utilizzano gli stessi parametri dei connettori delle sorgenti dati Athena corrispondenti. Per informazioni sui parametri, consulta la documentazione del connettore corrispondente di origine dati Athena.

Nel PySpark codice, utilizzate la seguente sintassi per configurare i parametri.

```
spark.read.option("athena.connectors.conf.parameter", "value")
```

Ad esempio, il codice seguente imposta il parametro `disable_projection_and_casing` del connettore DynamoDB di Amazon Athena su `always`.

```
dynamoDf = (spark.read 
    .option("athena.connectors.schema", "some_schema_or_glue_database") 
    .option("athena.connectors.table", "some_ddb_or_glue_table") 
    .option("athena.connectors.conf.disable_projection_and_casing", "always") 
    .format("com.amazonaws.athena.connectors.dsv2.dynamodb.DDBTableProvider") 
    .load())
```