Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Daftarkan katalog bucket tabel S3 dan kueri Tabel dari Athena
Bucket tabel Amazon S3 adalah jenis bucket di Amazon S3 yang dibuat khusus untuk menyimpan data tabular di tabel Apache Iceberg. Bucket tabel mengotomatiskan tugas manajemen tabel seperti pemadatan, manajemen snapshot, dan pengumpulan sampah untuk terus mengoptimalkan kinerja kueri dan meminimalkan biaya. Baik Anda baru memulai, atau memiliki ribuan tabel di lingkungan Gunung Es Anda, bucket tabel menyederhanakan data lake pada skala apa pun. Untuk informasi selengkapnya, lihat Bucket tabel.
Pertimbangan dan batasan
-
Semua operasi DDL yang didukung untuk tabel Iceberg didukung untuk Tabel S3 dengan pengecualian berikut:
-
ALTER TABLE RENAME
,CREATE VIEW
, danALTER DATABASE
tidak didukung. -
OPTIMIZE
danVACUUM
- Anda dapat mengelola manajemen pemadatan dan snapshot di S3. Untuk informasi selengkapnya, lihat dokumentasi pemeliharaan Tabel S3.
-
-
Kueri DDL pada Tabel S3 yang terdaftar sebagai sumber data Athena tidak didukung.
-
Penggunaan kembali hasil kueri tidak didukung.
-
Dalam kelompok kerja dengan SSE-KMS, enkripsi CSE-KMS diaktifkan, Anda tidak dapat menjalankan operasi tulis seperti
INSERT
,,, atau pada Tabel S3.UPDATE
DELETE
MERGE
-
Dalam kelompok kerja dengan opsi S3 Requester Pays diaktifkan, Anda tidak dapat menjalankan operasi DMLpada Tabel S3.
Kueri Tabel S3 dari Athena
Selesaikan langkah-langkah prasyarat ini sebelum Anda menanyakan Tabel S3 di Athena
Buat ember meja S3. Untuk informasi selengkapnya, lihat Membuat bucket tabel di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
-
Pastikan integrasi bucket tabel Anda dengan dan berhasil dengan mengikuti Prasyarat untuk integrasi AWS Glue Data Catalog dan AWS Lake Formation Mengintegrasikan bucket tabel dengan layanan AWS analitik di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
catatan
Jika Anda mengaktifkan integrasi saat membuat bucket tabel S3 dari konsol S3 di Langkah 1, Anda dapat melewati langkah ini.
Untuk prinsipal yang Anda gunakan untuk menjalankan kueri dengan Athena, berikan izin Lake Formation pada katalog Tabel S3, baik melalui konsol Lake Formation atau. AWS CLI
Kirim kueri untuk Tabel S3
Kirim
CREATE DATABASE
kueri dari Athena dengan pengguna/peran yang diberikan di atas. Dalam contoh ini,s3tablescatalog
adalah Katalog Data Glue induk yang dibuat dari integrasi dans3tablescatalog/
merupakan Katalog Data Glue anak yang dibuat untuk setiap bucket tabel S3. Ada dua cara di mana Anda dapat menanyakan.amzn-s3-demo-bucket
-
Dengan database yang Anda buat pada langkah sebelumnya, gunakan
CREATE TABLE
untuk membuat tabel. Contoh berikut membuat tabel dalam
database yang sebelumnya Anda buat di katalogtest_namespace
s3tablescatalog/
Glue.amzn-s3-demo-bucket
-
Masukkan data ke dalam tabel yang Anda buat pada langkah sebelumnya.
-
Setelah memasukkan data ke dalam tabel, Anda dapat menanyakannya.
Buat Tabel S3 di Athena
Athena mendukung pembuatan tabel di ruang nama Tabel S3 yang ada atau ruang nama yang dibuat di Athena dengan pernyataan. CREATE DATABASE
Untuk membuat Tabel S3 dari Athena, sintaksnya sama seperti saat Anda membuat tabel Iceberg biasa kecuali Anda tidak menentukan, seperti yang ditunjukkan LOCATION
pada contoh berikut.
CREATE TABLE [db_name.]table_name (col_name data_type [COMMENT col_comment] [, ...] ) [PARTITIONED BY (col_name | transform, ... )] [TBLPROPERTIES ([, property_name=property_value] )]
Anda juga dapat membuat Tabel S3 menggunakan pernyataan CREATE TABLE AS SELECT (CTAS). Untuk informasi selengkapnya, lihat CTAS untuk Tabel S3.
Daftarkan katalog bucket tabel S3 sebagai sumber data Athena
Untuk mendaftarkan katalog bucket tabel S3 dengan konsol Athena, lakukan langkah-langkah berikut.
-
Buka konsol Athena di https://console.aws.amazon.com/athena/
. -
Di panel navigasi, pilih Sumber data dan katalog.
-
Pada halaman Sumber data dan katalog, pilih Buat sumber data.
-
Untuk Pilih sumber data, pilih Amazon S3 -. AWS Glue Data Catalog
-
Di AWS Glue Data Catalogbagian ini, untuk Akun sumber data, pilih AWS Glue Data Catalog di akun ini.
-
Untuk Buat tabel atau daftarkan katalog, pilih Daftarkan AWS Glue Katalog baru.
-
Di bagian Rincian sumber data, untuk nama sumber data, masukkan nama yang ingin Anda gunakan untuk menentukan sumber data dalam kueri SQL Anda atau gunakan nama default yang dihasilkan.
-
Untuk Katalog, pilih Jelajahi untuk mencari daftar AWS Glue katalog di akun yang sama. Jika Anda tidak melihat katalog yang ada, buat katalog di AWS Glue konsol.
-
Dalam kotak dialog Jelajahi AWS Glue katalog, pilih katalog yang ingin Anda gunakan, lalu pilih Pilih.
-
(Opsional) Untuk Tag, masukkan key/value pasangan apa pun yang ingin Anda kaitkan dengan sumber data.
-
Pilih Berikutnya.
-
Pada halaman Tinjau dan buat, verifikasi bahwa informasi yang Anda masukkan sudah benar, lalu pilih Buat sumber data.
CTAS untuk Tabel S3
Amazon Athena sekarang mendukung operasi CREATE TABLE AS SELECT (CTAS) untuk Tabel S3. Fitur ini memungkinkan Anda membuat Tabel S3 baru berdasarkan hasil kueri SELECT.
Saat membuat kueri CTAS untuk Tabel S3, ada beberapa perbedaan penting dibandingkan dengan tabel Athena standar:
-
Anda harus menghilangkan properti lokasi karena Tabel S3 secara otomatis mengelola lokasi penyimpanannya sendiri.
-
table_type
Properti defaultnyaICEBERG
, jadi Anda tidak perlu menentukannya secara eksplisit dalam kueri Anda. -
Jika Anda tidak menentukan format, sistem secara otomatis menggunakan
PARQUET
sebagai format default untuk data Anda. -
Semua properti lainnya mengikuti sintaks yang sama seperti tabel Iceberg biasa.
Sebelum Anda membuat Tabel S3 menggunakan CTAS, pastikan Anda memiliki izin yang diperlukan yang dikonfigurasi. AWS Lake Formation Secara khusus, Anda memerlukan izin untuk membuat tabel di katalog Tabel S3. Tanpa izin ini, operasi CTAS Anda akan gagal.
catatan
Jika kueri CTAS gagal, Anda mungkin harus menghapus tabel menggunakan API Tabel S3 sebelum mencoba menjalankan kembali kueri Anda. Anda tidak dapat menggunakan DROP TABLE
pernyataan Athena untuk menghapus tabel yang sebagian dibuat oleh kueri.
Contoh
CREATE TABLE "s3tablescatalog/
amzn-s3-demo-bucket
"."namespace
"."s3-table-name
" WITH ( format = 'PARQUET' ) AS SELECT * FROMsource_table
;