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 SCHEMAschema_nameFROM 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 * FROMschema_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 JOINschema_name.iceberg_ordersi 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
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 * FROMmy_iceberg_table;
Untuk menyetel jalur pencarian resolusi skema:
USE "my_table_bucket@s3tablescatalog"; SET search_path TOmy_database; SELECT * FROMmy_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_lakecustomer_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;