View a markdown version of this page

Merujuk tabel Iceberg di Amazon Redshift - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat posting blog.

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

Merujuk tabel Iceberg di Amazon Redshift

Amazon Redshift menyediakan beberapa cara untuk mereferensikan tabel Apache Iceberg yang disimpan di danau data Anda. Anda dapat menggunakan skema eksternal untuk membuat referensi ke database Katalog Data yang berisi tabel Gunung Es, atau menggunakan notasi tiga bagian untuk akses langsung ke katalog yang dipasang secara otomatis.

Menggunakan skema eksternal untuk mereferensikan tabel Gunung Es

Skema eksternal menyediakan cara untuk mereferensikan tabel di Katalog Data Anda dari dalam Amazon Redshift. Saat membuat skema eksternal, Anda membuat sambungan antara database Amazon Redshift dan database Katalog Data tertentu yang berisi tabel Iceberg Anda.

Untuk membuat skema eksternal untuk tabel Iceberg:

CREATE EXTERNAL SCHEMA schema_name FROM DATA CATALOG DATABASE 'glue_database_name' IAM_ROLE 'arn:aws:iam::account-id:role/role-name';

Setelah membuat skema eksternal, Anda dapat menanyakan tabel Iceberg menggunakan notasi dua bagian:

SELECT * FROM schema_name.iceberg_table_name;

Anda juga dapat bergabung dengan tabel Iceberg dengan tabel Amazon Redshift lokal:

SELECT r.customer_id, i.order_date, r.customer_name FROM local_customers r JOIN schema_name.iceberg_orders i ON r.customer_id = i.customer_id;

Menggunakan notasi tiga bagian dengan katalog yang dipasang secara otomatis

Notasi tiga bagian memungkinkan Anda untuk secara langsung mereferensikan tabel dalam katalog yang dipasang secara otomatis tanpa membuat skema eksternal. Metode ini sangat berguna saat bekerja dengan bucket tabel Amazon S3 yang digabungkan dengan. AWS Lake Formation Untuk informasi tentang pengaturan pemasangan otomatis Katalog Data, lihat Menyederhanakan akses objek eksternal di Amazon Redshift menggunakan pemasangan otomatis dari. AWS Glue Data Catalog

Sintaks untuk notasi tiga bagian adalah:

"catalog_name".database_name.table_name

Misalnya, untuk menanyakan tabel Iceberg di katalog tabel Amazon S3 yang dipasang secara otomatis:

SELECT * FROM "my_table_bucket@s3tablescatalog".my_database.my_iceberg_table;

Untuk informasi selengkapnya tentang mengintegrasikan bucket tabel Amazon S3 dengan Amazon Redshift, lihat Mengintegrasikan Tabel S3 dengan Amazon Redshift di Panduan Pengguna Amazon S3.

Anda juga dapat menggunakan USE pernyataan untuk mengatur katalog dan database default:

USE "my_table_bucket@s3tablescatalog".my_database; SELECT * FROM my_iceberg_table;

Untuk menyetel jalur pencarian resolusi skema:

USE "my_table_bucket@s3tablescatalog"; SET search_path TO my_database; SELECT * FROM my_iceberg_table;

Praktik terbaik untuk mereferensikan tabel Iceberg

Pertimbangkan praktik terbaik berikut saat mereferensikan tabel Iceberg di Amazon Redshift:

  • Gunakan nama skema deskriptif — Saat membuat skema eksternal, gunakan nama yang secara jelas menunjukkan sumber dan tujuan data, seperti atau. sales_data_lake customer_analytics

  • Leverage statistik tabel — Pastikan statistik kolom dibuat untuk tabel Iceberg Anda gunakan AWS Glue untuk mengoptimalkan kinerja kueri. Amazon Redshift menggunakan statistik ini untuk perencanaan dan pengoptimalan kueri.

  • Pertimbangkan kesegaran data — Tabel gunung es dapat diperbarui oleh layanan lain saat Anda menanyakannya. Amazon Redshift memberikan konsistensi transaksional, memastikan Anda melihat snapshot data yang konsisten selama eksekusi kueri.

  • Gunakan izin IAM yang sesuai — Pastikan klaster atau grup kerja Amazon Redshift Anda memiliki izin IAM yang diperlukan untuk mengakses lokasi Amazon S3 tempat tabel Iceberg Anda disimpan, serta metadata Katalog Data.

  • Pantau kinerja kueri — Gunakan fitur pemantauan kueri Amazon Redshift untuk melacak kinerja kueri terhadap tabel Iceberg dan mengoptimalkan sesuai kebutuhan.

Pola referensi umum

Contoh berikut menunjukkan pola umum untuk referensi tabel Iceberg:

Menggabungkan data di beberapa tabel Gunung Es:

SELECT region, SUM(sales_amount) as total_sales, COUNT(*) as transaction_count FROM data_lake.sales_transactions WHERE transaction_date >= '2024-01-01' GROUP BY region ORDER BY total_sales DESC;

Bergabung dengan tabel Iceberg dengan tabel Amazon Redshift lokal:

SELECT c.customer_name, c.customer_tier, SUM(o.order_amount) as total_orders FROM customers c JOIN data_lake.order_history o ON c.customer_id = o.customer_id WHERE o.order_date >= CURRENT_DATE - INTERVAL '30 days' GROUP BY c.customer_name, c.customer_tier;

Menggunakan notasi tiga bagian dengan kueri kompleks:

WITH recent_orders AS ( SELECT customer_id, order_date, order_amount FROM "analytics_bucket@s3tablescatalog".ecommerce.orders WHERE order_date >= CURRENT_DATE - INTERVAL '7 days' ) SELECT customer_id, COUNT(*) as order_count, AVG(order_amount) as avg_order_value FROM recent_orders GROUP BY customer_id HAVING COUNT(*) > 1;