Usa le tabelle Apache Iceberg in Athena per Spark - Amazon Athena

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à.

Usa le tabelle Apache Iceberg in Athena per Spark

Apache Iceberg è un formato di tabella aperta per set di dati di grandi dimensioni in Amazon Simple Storage Service (Amazon S3). Fornisce prestazioni di query rapide su tabelle di grandi dimensioni, commit atomici, scritture simultanee ed evoluzione di tabelle compatibili. SQL

Per utilizzare le tabelle Apache Iceberg in Athena for Spark, configura le seguenti proprietà Spark. Queste proprietà sono configurate automaticamente nella console Athena for Spark quando scegli Apache Iceberg come formato di tabella. Per la procedura, consulta Passaggio 4: Modificare i dettagli della sessione o Fase 7: Crea il tuo taccuino.

"spark.sql.catalog.spark_catalog": "org.apache.iceberg.spark.SparkSessionCatalog", "spark.sql.catalog.spark_catalog.catalog-impl": "org.apache.iceberg.aws.glue.GlueCatalog", "spark.sql.catalog.spark_catalog.io-impl": "org.apache.iceberg.aws.s3.S3FileIO", "spark.sql.extensions": "org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions"

La seguente procedura mostra come utilizzare una tabella Apache Iceberg in un notebook Athena per Spark. Esegui ogni passaggio in una nuova cella del notebook.

Per usare una tabella Apache Iceberg in Athena per Spark
  1. Definisci le costanti da usare nel notebook.

    DB_NAME = "NEW_DB_NAME" TABLE_NAME = "NEW_TABLE_NAME" TABLE_S3_LOCATION = "s3://amzn-s3-demo-bucket"
  2. Crea un Apache Spark. DataFrame

    columns = ["language","users_count"] data = [("Golang", 3000)] df = spark.createDataFrame(data, columns)
  3. Crea un database.

    spark.sql("CREATE DATABASE {} LOCATION '{}'".format(DB_NAME, TABLE_S3_LOCATION))
  4. Crea una tabella Apache Iceberg vuota.

    spark.sql(""" CREATE TABLE {}.{} ( language string, users_count int ) USING ICEBERG """.format(DB_NAME, TABLE_NAME))
  5. Inserisci una riga di dati nella tabella.

    spark.sql("""INSERT INTO {}.{} VALUES ('Golang', 3000)""".format(DB_NAME, TABLE_NAME))
  6. Conferma di poter eseguire query sulla nuova tabella.

    spark.sql("SELECT * FROM {}.{}".format(DB_NAME, TABLE_NAME)).show()

Per ulteriori informazioni ed esempi su come lavorare con le tabelle Spark DataFrames e Iceberg, consulta Spark Queries nella documentazione di Apache Iceberg.