

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

# Kueri kumpulan data Apache Hudi
<a name="querying-hudi"></a>

[https://hudi.incubator.apache.org/](https://hudi.incubator.apache.org/) adalah kerangka kerja manajemen data sumber terbuka yang menyederhanakan pemrosesan data tambahan. Tindakan sisipan level catatan, pembaruan, upsert, dan hapus diproses jauh lebih terperinci, mengurangi overhead. `Upsert` mengacu pada kemampuan untuk menyisipkan catatan ke dalam set data yang ada jika mereka belum ada atau untuk memperbaruinya jika mereka sudah ada.

Hudi menangani peristiwa penyisipan dan pembaruan data tanpa membuat banyak file kecil yang dapat menyebabkan masalah performa untuk analisis. Apache Hudi secara otomatis melacak perubahan dan menggabungkan file sehingga ukurannya tetap optimal. Ini untuk menghindari kebutuhan untuk membangun solusi kustom yang memantau dan menulis ulang banyak file kecil ke dalam file besar yang lebih sedikit.

Set data Hudi cocok untuk kasus penggunaan berikut:
+ Mematuhi peraturan privasi seperti [Peraturan Perlindungan Data Umum](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation) (GDPR) dan [California Consumer Privacy Act](https://en.wikipedia.org/wiki/California_Consumer_Privacy_Act) (CCPA) yang memberlakukan hak orang untuk menghapus informasi pribadi atau mengubah cara data mereka digunakan.
+ Bekerja dengan data streaming dari sensor dan perangkat Internet untuk Segala (IoT) lainnya yang memerlukan penyisipan data dan pembaruan peristiwa tertentu.
+ Mengimplementasikan [sistem change data capture (CDC)](https://en.wikipedia.org/wiki/Change_data_capture).

Sebuah set data Hudi dapat menjadi salah satu dari tipe berikut:
+ **Copy on Write (CoW)** – Data disimpan dalam format kolom (Parquet), dan setiap pembaruan membuat versi file baru selama penulisan.
+ **Merge on Read (MoR)** – Data disimpan menggunakan kombinasi kolom (Parquet) dan format berbasis baris (Avro). Pembaruan dicatat ke file `delta` berbasis baris dan dipadatkan sesuai kebutuhan untuk membuat file kolom versi baru.

Dengan set data CoW, setiap kali ada pembaruan ke catatan, file yang berisi catatan ditulis ulang dengan nilai yang diperbarui. Dengan set data MoR, setiap kali ada pembaruan, Hudi hanya menulis baris untuk catatan yang berubah. MoR lebih cocok untuk beban kerja tulis atau perubahan berat dengan lebih sedikit pembacaan. CoW lebih cocok untuk beban kerja pembacaan berat pada data yang jarang berubah.

Hudi menyediakan tiga tipe kueri untuk mengakses data:
+ **Kueri snapshot** — Kueri yang melihat snapshot terbaru dari tabel sebagai tindakan komit atau pemadatan yang diberikan. Untuk tabel MoR, kueri snapshot memapar status terbaru tabel dengan menggabungkan file dasar dan delta potongan file terbaru pada pada saat kueri. 
+ **Kueri tambahan — Kueri** hanya melihat data baru yang ditulis ke tabel, karena komit/pemadatan yang diberikan. Ini secara efektif menyediakan pengaliran perubahan untuk mengaktifkan data pipeline tambahan.
+ **Baca kueri yang dioptimalkan** — Untuk tabel MoR, kueri melihat data terbaru yang dipadatkan. Untuk tabel CoW, kueri melihat data terbaru yang dikomit.

Tabel berikut menunjukkan kemungkinan tipe kueri Hudi untuk setiap tipe tabel.


| Jenis tabel | Kemungkinan jenis kueri Hudi | 
| --- | --- | 
| Copy On Write | Snapshot, tambahan | 
| Merge On Read | snapshot, tambahan, dioptimalkan baca | 

Untuk informasi selengkapnya tentang pengorbanan antara tipe tabel dan kueri, lihat Jenis [Tabel & Kueri](https://hudi.apache.org/docs/table_types/) dalam dokumentasi Apache Hudi.

## Perubahan terminologi Hudi: Tampilan sekarang menjadi kueri
<a name="querying-hudi-hudi-dataset-table-types-terminology"></a>

Mulai dari rilis Apache Hudi versi 0.5.1, apa yang sebelumnya disebut tampilan sekarang disebut kueri. Tabel berikut merangkum perubahan antara istilah lama dan baru.


| Istilah lama | Istilah baru | 
| --- | --- | 
|  CoW: tampilan dioptimalkan baca MoR: tampilan waktu nyata  |  Kueri snapshot  | 
| Tampilan tambahan | Kueri tambahan | 
| Tampilan dioptimalkan baca MoR | Kueri dioptimalkan baca | 

**Topics**
+ [Perubahan terminologi Hudi: Tampilan sekarang menjadi kueri](#querying-hudi-hudi-dataset-table-types-terminology)
+ [Pertimbangan dan batasan](querying-hudi-in-athena-considerations-and-limitations.md)
+ [Copy on write (CoW) buat contoh tabel](querying-hudi-copy-on-write-create-table-examples.md)
+ [Gabungkan pada read (MoR) buat contoh tabel](querying-hudi-merge-on-read-create-table-examples.md)
+ [Gunakan metadata Hudi untuk meningkatkan kinerja](querying-hudi-metadata-table.md)
+ [Sumber daya tambahan](querying-hudi-additional-resources.md)

# Pertimbangan dan batasan
<a name="querying-hudi-in-athena-considerations-and-limitations"></a>

Saat Anda menggunakan Athena untuk membaca tabel Apache Hudi, pertimbangkan poin-poin berikut.
+ **Operasi baca dan tulis** - Athena dapat membaca kumpulan data Hudi yang dipadatkan tetapi tidak menulis data Hudi.
+ **Versi Hudi** - Athena mendukung Hudi versi 0.14.0 (default) dan 0.15.0. Athena tidak dapat menjamin kompatibilitas baca dengan tabel yang dibuat dengan versi Hudi yang lebih baru. Untuk informasi selengkapnya tentang fitur dan pembuatan versi Hudi, lihat [dokumentasi Hudi di situs web Apache](https://hudi.apache.org/). Perhatikan bahwa versi 0.15.0 dari konektor Hudi di Athena tidak mendukung tabel bootstrap. Untuk menggunakan 0.15.0 dari konektor Hudi, atur properti tabel berikut:

  ```
  ALTER TABLE table_name SET TBLPROPERTIES ('athena_enable_native_hudi_connector_implementation' = 'true')
  ```
+ **Kueri lintas akun** - Versi 0.15.0 dari konektor Hudi tidak mendukung kueri lintas akun.
+ **Jenis kueri** — Saat ini, Athena mendukung kueri snapshot dan membaca kueri yang dioptimalkan, tetapi bukan kueri tambahan. Pada tabel MoR, semua data yang terpapar untuk mengkueri dioptimalkan baca dipadatkan. Ini memberikan performa yang baik tetapi tidak termasuk komit delta terbaru. Kueri snapshot berisi data terbaru tetapi dikenai beberapa overhead komputasi, yang membuat performa kueri ini tidak terlalu baik. Untuk informasi selengkapnya tentang pengorbanan antara tipe tabel dan kueri, lihat Jenis [Tabel & Kueri](https://hudi.apache.org/docs/table_types/) dalam dokumentasi Apache Hudi.
+ **Pertanyaan tambahan - Athena tidak mendukung kueri** tambahan.
+ **CTAS** — Athena tidak [mendukung](ctas.md) CTAS [INSERT INTO](insert-into.md) atau data Hudi. Jika Anda ingin dukungan Athena untuk menulis set data Hudi, kirim umpan balik ke athena-feedback@amazon.com.

  Untuk informasi selengkapnya tentang penulisan data Hudi, lihat sumber daya berikut:
  + [Bekerja dengan kumpulan data Hudi di](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hudi-work-with-dataset.html) Panduan Rilis [EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/) Amazon.
  + [Menulis Data](https://hudi.apache.org/docs/0.8.0/writing_data.html) dalam dokumentasi Apache Hudi.
+ **MSCK REPAIR TABLE** - Menggunakan MSCK REPAIR TABLE pada tabel Hudi di Athena tidak didukung. Jika Anda perlu memuat tabel Hudi yang tidak dibuat AWS Glue, gunakan[ALTER TABLE ADD PARTITION](alter-table-add-partition.md).
+ **Melewatkan objek Amazon Glacier tidak didukung - Jika objek** di tabel Apache Hudi berada dalam kelas penyimpanan Amazon Glacier, menyetel properti tabel agar tidak berpengaruh. `read_restored_glacier_objects` `false`

  Misalnya, Anda mengeluarkan perintah berikut:

  ```
  ALTER TABLE table_name SET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')
  ```

  Untuk tabel Iceberg dan Delta Lake, perintah menghasilkan kesalahan Kunci properti tabel Tidak didukung: read\$1restored\$1glacier\$1objects. Untuk tabel Hudi, `ALTER TABLE` perintah tidak menghasilkan kesalahan, tetapi objek Amazon Glacier masih belum dilewati. Menjalankan `SELECT` kueri setelah `ALTER TABLE` perintah terus mengembalikan semua objek.
+ **Kueri stempel waktu** — Saat ini, kueri yang mencoba membaca kolom stempel waktu dalam tabel waktu nyata Hudi gagal atau menghasilkan hasil kosong. Batasan ini hanya berlaku untuk kueri yang membaca kolom stempel waktu. Kueri yang hanya menyertakan kolom non-stempel waktu dari tabel yang sama berhasil. 

  Kueri yang gagal mengembalikan pesan yang mirip dengan berikut ini: 

  GENERIC\$1INTERNAL\$1ERROR: kelas org.apache.hadoop.io. ArrayWritabletidak dapat dilemparkan ke kelas org.apache.hadoop.hive.serde2.io. TimestampWritableV2 (org.apache.hadoop.io. ArrayWritable dan org.apache.hadoop.hive.serde2.io. TimestampWritableV2 berada dalam modul loader io.trino.server yang tidak disebutkan namanya. PluginClassLoader @75c67992)
+ **Izin Lake Formation pada 0.15.0 Konektor Hudi** — Batasan ini hanya berlaku ketika Anda memilih untuk menggunakan konektor Hudi asli (versi 0.15.0) dengan menyetel properti tabel ke. `athena_enable_native_hudi_connector_implementation` `true` Secara default, Athena menggunakan konektor Hudi versi 0.14.0, yang tidak memerlukan izin tambahan ini. Untuk menanyakan tabel yang dilindungi Lake Formation, Anda harus memberikan izin Lake Formation ke lokasi data tabel dan direktori `.hoodie` metadata. Misalnya, jika tabel Hudi Anda berada di`s3://bucket/hudi-table/`, Anda harus mendaftar dan memberikan izin untuk keduanya `s3://bucket/hudi-table/` dan `s3://bucket/hudi-table/.hoodie/` di Lake Formation. `.hoodie`Direktori berisi file metadata (seperti`hoodie.properties`) yang perlu dibaca Athena selama perencanaan kueri. Tanpa izin ke `.hoodie` direktori, kueri akan gagal dengan kesalahan izin ditolak.

# Copy on write (CoW) buat contoh tabel
<a name="querying-hudi-copy-on-write-create-table-examples"></a>

Jika Anda memiliki tabel Hudi yang sudah dibuat AWS Glue, Anda dapat menanyakannya langsung di Athena. Saat Anda membuat tabel Hudi yang dipartisi di Athena, Anda harus menjalankan `ALTER TABLE ADD PARTITION` untuk memuat data Hudi sebelum Anda dapat menanyakannya.

## Tabel CoW yang tidak dipartisi
<a name="querying-hudi-nonpartitioned-cow-table"></a>

Contoh berikut membuat tabel CoW tidak dipartisi di Athena.

```
CREATE EXTERNAL TABLE `non_partition_cow`(
  `_hoodie_commit_time` string,
  `_hoodie_commit_seqno` string,
  `_hoodie_record_key` string,
  `_hoodie_partition_path` string,
  `_hoodie_file_name` string,
  `event_id` string,
  `event_time` string,
  `event_name` string,
  `event_guests` int,
  `event_type` string)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
  'org.apache.hudi.hadoop.HoodieParquetInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  's3://amzn-s3-demo-bucket/folder/non_partition_cow/'
```

## Tabel CoW yang dipartisi
<a name="querying-hudi-partitioned-cow-table"></a>

Contoh berikut membuat tabel CoW dipartisi di Athena.

```
CREATE EXTERNAL TABLE `partition_cow`(
  `_hoodie_commit_time` string, 
  `_hoodie_commit_seqno` string, 
  `_hoodie_record_key` string, 
  `_hoodie_partition_path` string, 
  `_hoodie_file_name` string, 
  `event_id` string, 
  `event_time` string, 
  `event_name` string, 
  `event_guests` int)
PARTITIONED BY ( 
  `event_type` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hudi.hadoop.HoodieParquetInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat' 
LOCATION
  's3://amzn-s3-demo-bucket/folder/partition_cow/'
```

Contoh `ALTER TABLE ADD PARTITION` berikut menambahkan dua partisi ke contoh tabel `partition_cow`.

```
ALTER TABLE partition_cow ADD
  PARTITION (event_type = 'one') LOCATION 's3://amzn-s3-demo-bucket/folder/partition_cow/one/' 
  PARTITION (event_type = 'two') LOCATION 's3://amzn-s3-demo-bucket/folder/partition_cow/two/'
```

# Gabungkan pada read (MoR) buat contoh tabel
<a name="querying-hudi-merge-on-read-create-table-examples"></a>

Hudi membuat dua tabel di metastore untuk MoR: tabel untuk mengkueri snapshot, dan tabel untuk mengkueri dioptimalkan baca. Kedua tabel dapat dikueri. Dalam versi Hudi sebelum 0.5.1, tabel untuk mengkueri dioptimalkan baca memilini nama yang Anda tentukan saat Anda membuat tabel. Mulai versi Hudi 0.5.1, nama tabel diakhiri dengan `_ro` secara default. Nama tabel untuk mengkueri snapshot adalah nama yang Anda tentukan ditambah `_rt`.

## Penggabungan yang tidak dipartisi pada tabel baca (MoR)
<a name="querying-hudi-nonpartitioned-merge-on-read-table"></a>

Contoh berikut membuat tabel MoR tidak dipartisi di Athena kueri yang dioptimalkan baca. Perhatikan bahwa dioptimalkan baca menggunakan format input `HoodieParquetInputFormat`.

```
CREATE EXTERNAL TABLE `nonpartition_mor`(
  `_hoodie_commit_time` string, 
  `_hoodie_commit_seqno` string, 
  `_hoodie_record_key` string, 
  `_hoodie_partition_path` string, 
  `_hoodie_file_name` string, 
  `event_id` string, 
  `event_time` string, 
  `event_name` string, 
  `event_guests` int, 
  `event_type` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hudi.hadoop.HoodieParquetInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat' 
LOCATION
  's3://amzn-s3-demo-bucket/folder/nonpartition_mor/'
```

Contoh berikut membuat tabel MoR tidak dipartisi di Athena untuk mengkueri snapshot. Untuk kueri snapshot, gunakan format input `HoodieParquetRealtimeInputFormat`.

```
CREATE EXTERNAL TABLE `nonpartition_mor_rt`(
  `_hoodie_commit_time` string, 
  `_hoodie_commit_seqno` string, 
  `_hoodie_record_key` string, 
  `_hoodie_partition_path` string, 
  `_hoodie_file_name` string, 
  `event_id` string, 
  `event_time` string, 
  `event_name` string, 
  `event_guests` int, 
  `event_type` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hudi.hadoop.realtime.HoodieParquetRealtimeInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat' 
LOCATION
  's3://amzn-s3-demo-bucket/folder/nonpartition_mor/'
```

## Penggabungan yang dipartisi pada tabel baca (MoR)
<a name="querying-hudi-partitioned-merge-on-read-table"></a>

Contoh berikut membuat tabel MoR dipartisi di Athena untuk mengkueri dioptimalkan baca.

```
CREATE EXTERNAL TABLE `partition_mor`(
  `_hoodie_commit_time` string, 
  `_hoodie_commit_seqno` string, 
  `_hoodie_record_key` string, 
  `_hoodie_partition_path` string, 
  `_hoodie_file_name` string, 
  `event_id` string, 
  `event_time` string, 
  `event_name` string, 
  `event_guests` int)
PARTITIONED BY ( 
  `event_type` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hudi.hadoop.HoodieParquetInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  's3://amzn-s3-demo-bucket/folder/partition_mor/'
```

Contoh `ALTER TABLE ADD PARTITION` berikut menambahkan dua partisi ke contoh tabel `partition_mor`.

```
ALTER TABLE partition_mor ADD
  PARTITION (event_type = 'one') LOCATION 's3://amzn-s3-demo-bucket/folder/partition_mor/one/'
  PARTITION (event_type = 'two') LOCATION 's3://amzn-s3-demo-bucket/folder/partition_mor/two/'
```

Contoh berikut membuat tabel MoR dipartisi di Athena untuk mengkueri snapshot.

```
CREATE EXTERNAL TABLE `partition_mor_rt`(
  `_hoodie_commit_time` string, 
  `_hoodie_commit_seqno` string, 
  `_hoodie_record_key` string, 
  `_hoodie_partition_path` string, 
  `_hoodie_file_name` string, 
  `event_id` string, 
  `event_time` string, 
  `event_name` string, 
  `event_guests` int)
PARTITIONED BY ( 
  `event_type` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT 
  'org.apache.hudi.hadoop.realtime.HoodieParquetRealtimeInputFormat'
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  's3://amzn-s3-demo-bucket/folder/partition_mor/'
```

Demikian pula, contoh berikut `ALTER TABLE ADD PARTITION` menambahkan dua partisi ke tabel `partition_mor_rt` contoh.

```
ALTER TABLE partition_mor_rt ADD
  PARTITION (event_type = 'one') LOCATION 's3://amzn-s3-demo-bucket/folder/partition_mor/one/'
  PARTITION (event_type = 'two') LOCATION 's3://amzn-s3-demo-bucket/folder/partition_mor/two/'
```

# Gunakan metadata Hudi untuk meningkatkan kinerja
<a name="querying-hudi-metadata-table"></a>

Apache Hudi memiliki [tabel metadata](https://hudi.apache.org/docs/next/metadata/) yang berisi fitur pengindeksan untuk meningkatkan kinerja seperti daftar file, melewatkan data menggunakan statistik kolom, dan indeks berbasis filter mekar.

Dari fitur-fitur ini, Athena saat ini hanya mendukung indeks daftar file. Indeks daftar file menghilangkan panggilan sistem file seperti “daftar file” dengan mengambil informasi dari indeks yang memelihara partisi ke pemetaan file. Ini menghilangkan kebutuhan untuk daftar secara rekursif setiap partisi di bawah jalur tabel untuk mendapatkan tampilan sistem file. Saat Anda bekerja dengan kumpulan data besar, pengindeksan ini secara drastis mengurangi latensi yang seharusnya terjadi saat mendapatkan daftar file selama penulisan dan kueri. Ini juga menghindari kemacetan seperti pembatasan batas permintaan pada panggilan Amazon S3. `LIST`

**catatan**  
Athena tidak mendukung lompatan data atau pengindeksan filter mekar saat ini.

## Mengaktifkan tabel metadata Hudi
<a name="querying-hudi-metadata-table-enabling-the-hudi-metadata-table"></a>

Daftar file berbasis tabel metadata dinonaktifkan secara default. Untuk mengaktifkan tabel metadata Hudi dan fungsionalitas daftar file terkait, atur properti `hudi.metadata-listing-enabled` tabel ke. `TRUE`

**Contoh**  
`ALTER TABLE SET TBLPROPERTIES`Contoh berikut memungkinkan tabel metadata pada tabel contoh`partition_cow`.

```
ALTER TABLE partition_cow SET TBLPROPERTIES('hudi.metadata-listing-enabled'='TRUE')
```

## Gunakan metadata yang dihasilkan bootstrap
<a name="querying-hudi-hudi-dataset-table-types-bootstrap"></a>

Mulai di Apache Hudi versi 0.6.0, fitur operasi bootstrap memberikan performa yang lebih baik dengan set data Parquet yang ada. Sebagai ganti menulis ulang set data, operasi bootstrap dapat menghasilkan metadata saja, meninggalkan set data di tempat. 

Anda dapat menggunakan Athena untuk mengkueri tabel dari operasi bootstrap seperti tabel lain berdasarkan data di Amazon S3. Di pernyataan `CREATE TABLE`, tentukan jalur tabel Hudi Anda di klausa `LOCATION`. 

Untuk informasi lebih lanjut tentang membuat tabel Hudi menggunakan operasi bootstrap di Amazon EMR, lihat [artikel Fitur baru dari Apache Hudi tersedia di Amazon AWS EMR di](https://aws.amazon.com/blogs/big-data/new-features-from-apache-hudi-available-in-amazon-emr/) Big Data Blog.

# Sumber daya tambahan
<a name="querying-hudi-additional-resources"></a>

Untuk sumber daya tambahan tentang penggunaan Apache Hudi dengan Athena, lihat sumber daya berikut.

## Video
<a name="querying-hudi-videos"></a>

Video berikut menunjukkan bagaimana Anda dapat menggunakan Amazon Athena untuk mengkueri set data Apache dioptimalkan baca dalam danau data berbasis Amazon S3 Anda.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/TVcreqxBaGA/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/TVcreqxBaGA)


## Unggahan blog
<a name="querying-hudi-big-data-blogs"></a>

Posting Blog AWS Big Data berikut mencakup deskripsi tentang bagaimana Anda dapat menggunakan Apache Hudi dengan Athena.
+ [Gunakan AWS Data Exchange untuk membagikan kumpulan data Apache Hudi dengan mulus](https://aws.amazon.com/blogs/big-data/use-aws-data-exchange-to-seamlessly-share-apache-hudi-datasets/) 
+ [Membuat data lake near-real-time transaksional berbasis Apache Hudi menggunakan, Amazon AWS DMS Kinesis, AWS Glue streaming ETL, dan visualisasi data menggunakan Quick](https://aws.amazon.com/blogs/big-data/create-an-apache-hudi-based-near-real-time-transactional-data-lake-using-aws-dms-amazon-kinesis-aws-glue-streaming-etl-and-data-visualization-using-amazon-quicksight/) 
+ Untuk informasi tentang penggunaan konektor AWS Glue kustom dan AWS Glue 2.0 pekerjaan untuk membuat tabel Apache Hudi yang dapat Anda kueri dengan Athena, lihat [Menulis ke tabel Apache Hudi](https://aws.amazon.com/blogs/big-data/writing-to-apache-hudi-tables-using-aws-glue-connector/) menggunakan konektor kustom. AWS Glue 
+ Untuk artikel tentang menggunakan Apache Hudi, AWS Glue, dan Amazon Athena untuk membangun kerangka pemrosesan data untuk data lake, [lihat Menyederhanakan pemrosesan data operasional di danau data menggunakan dan Apache Hudi](https://aws.amazon.com/blogs/big-data/simplify-operational-data-processing-in-data-lakes-using-aws-glue-and-apache-hudi/). AWS Glue 