Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Arbeiten Sie mit Datenquellen-Konnektoren für Apache Spark
Einige Athena-Datenquellenkonnektoren sind als DSV2 Spark-Konnektoren verfügbar. Die Namen der DSV2 Spark-Konnektoren haben ein -dsv2
Suffix (z. B.athena-dynamodb-dsv2
).
Im Folgenden finden Sie die derzeit verfügbaren DSV2 Konnektoren, ihren .format()
Spark-Klassennamen und Links zur entsprechenden Amazon Athena Federated Query-Dokumentation:
DSV2Konnektor | Spark .format() class name | Dokumentation |
---|---|---|
athena-cloudwatch-dsv2 | com.amazonaws.athena.connectors.dsv2.cloudwatch.CloudwatchTableProvider |
CloudWatch |
athena-cloudwatch-metrics-dsv2 | com.amazonaws.athena.connectors.dsv2.cloudwatch.metrics.CloudwatchMetricsTableProvider |
CloudWatch Metriken |
athena-aws-cmdb-dsv2 | com.amazonaws.athena.connectors.dsv2.aws.cmdb.AwsCmdbTableProvider |
CMDB |
athena-dynamodb-dsv2 | com.amazonaws.athena.connectors.dsv2.dynamodb.DDBTableProvider |
DynamoDB |
Um .jar
Dateien für die DSV2 Konnektoren herunterzuladen, besuchen Sie die DSV2 GitHub Seite Amazon Athena Query Federation<version>
, Bereich Vermögenswerte.
Geben Sie das Jar für Spark an
Um die DSV2 Athena-Konnektoren mit Spark zu verwenden, senden Sie die .jar
Datei für den Konnektor an die Spark-Umgebung, die Sie verwenden. In den folgenden Abschnitten werden spezifische Fälle beschrieben.
Athena für Spark
Informationen zum Hinzufügen von benutzerdefinierten .jar
-Dateien und zur benutzerdefinierten Konfiguration zu Amazon Athena für Apache Spark finden Sie unter Verwenden Sie Spark-Eigenschaften, um eine benutzerdefinierte Konfiguration anzugeben.
General Spark
Um die .jar
-Konnektor-Datei an Spark zu übergeben, verwenden Sie den spark-submit
-Befehl und geben Sie die Datei .jar
in der Option --jars
an, wie im folgenden Beispiel:
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
Amazon EMR Spark
Um einen spark-submit
Befehl mit dem --jars
Parameter auf Amazon auszuführenEMR, müssen Sie Ihrem Amazon EMR Spark-Cluster einen Schritt hinzufügen. Einzelheiten zur Verwendung bei spark-submit
Amazon EMR finden Sie unter Spark-Schritt hinzufügen im EMRAmazon-Versionshandbuch.
AWS Glue ETLSpark
Denn AWS Glue ETL Sie können das GitHub .com der .jar
Datei URL an das --extra-jars
Argument des aws glue start-job-run
Befehls übergeben. In der AWS Glue Dokumentation wird beschrieben, dass der --extra-jars
Parameter einen Amazon S3 S3-Pfad verwendet, der Parameter kann aber auch einen annehmen HTTPSURL. Weitere Informationen finden Sie in der Aufgabenparameter-Referenz im AWS Glue -Entwicklerhandbuch.
Fragen Sie den Konnektor auf Spark ab
Verwenden Sie die Funktion spark.sql()
, um das Äquivalent Ihrer vorhandenen Athena-Verbundabfrage auf Apache Spark einzureichen. Nehmen wir beispielsweise an, die folgende Athena-Abfrage wurde mit Apache Spark erstellt.
SELECT somecola, somecolb, somecolc FROM ddb_datasource.some_schema_or_glue_database.some_ddb_or_glue_table WHERE somecola > 1
Verwenden Sie den folgenden Code, um dieselbe Abfrage auf Spark mithilfe des Amazon Athena DSV2 DynamoDB-Connectors durchzuführen:
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 ''')
Angeben von Parametern
Die DSV2 Versionen der Athena-Datenquellenkonnektoren verwenden dieselben Parameter wie die entsprechenden Athena-Datenquellen-Konnektoren. Informationen zu den Parametern finden Sie in der Dokumentation für den entsprechenden Athena-Datenquellenkonnektor.
Verwenden Sie in Ihrem PySpark Code die folgende Syntax, um Ihre Parameter zu konfigurieren.
spark.read.option("athena.connectors.conf.
parameter
", "value
")
Der folgende Code setzt zum Beispiel den Parameter des Amazon-Athena-DynamoDB-Konnektors disable_projection_and_casing
auf 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())