

 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](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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
<a name="referencing-iceberg-tables"></a>

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
<a name="referencing-iceberg-external-schemas"></a>

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
<a name="referencing-iceberg-three-part-notation"></a>

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](https://aws.amazon.com/blogs/big-data/simplify-external-object-access-in-amazon-redshift-using-automatic-mounting-of-the-aws-glue-data-catalog/) 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-redshift.html) 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
<a name="referencing-iceberg-best-practices"></a>

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
<a name="referencing-iceberg-examples"></a>

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;
```