Gunung Es Apache - Amazon Athena

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunung Es Apache

Apache Iceberg adalah format tabel terbuka untuk kumpulan data besar di Amazon Simple Storage Service (Amazon S3). Ini memberi Anda kinerja kueri cepat di atas tabel besar, komit atom, penulisan bersamaan, dan evolusi tabel SQL yang kompatibel.

Untuk menggunakan tabel Apache Iceberg di Athena untuk Spark, konfigurasikan properti Spark berikut. Properti ini dikonfigurasi untuk Anda secara default di konsol Athena untuk Spark ketika Anda memilih Apache Iceberg sebagai format tabel. Untuk langkah-langkah, lihat Mengedit detail sesi atauMembuat buku catatan Anda sendiri.

"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"

Prosedur berikut menunjukkan cara menggunakan tabel Apache Iceberg di Athena untuk notebook Spark. Jalankan setiap langkah di sel baru di notebook.

Untuk menggunakan tabel Apache Iceberg di Athena untuk Spark
  1. Tentukan konstanta yang akan digunakan di notebook.

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

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

    spark.sql("CREATE DATABASE {} LOCATION '{}'".format(DB_NAME, TABLE_S3_LOCATION))
  4. Buat tabel Apache Iceberg kosong.

    spark.sql(""" CREATE TABLE {}.{} ( language string, users_count int ) USING ICEBERG """.format(DB_NAME, TABLE_NAME))
  5. Masukkan deretan data ke dalam tabel.

    spark.sql("""INSERT INTO {}.{} VALUES ('Golang', 3000)""".format(DB_NAME, TABLE_NAME))
  6. Konfirmasikan bahwa Anda dapat menanyakan tabel baru.

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

Untuk informasi selengkapnya dan contoh tentang bekerja dengan tabel Spark DataFrames dan Iceberg, lihat Kueri Spark di dokumentasi Apache Iceberg.