

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

# Gunakan metastore Hive eksternal
<a name="connect-to-data-source-hive"></a>

Anda dapat menggunakan konektor data Amazon Athena untuk metastore Hive eksternal untuk kueri set data di Amazon S3 yang menggunakan metastore Apache Hive. Tidak diperlukan migrasi metadata ke metadata. AWS Glue Data Catalog Di konsol manajemen Athena, Anda mengonfigurasi fungsi Lambda untuk berkomunikasi dengan metastore Hive yang ada di VPC pribadi Anda dan kemudian menghubungkannya ke metastore. Sambungan dari Lambda ke metastore Hive Anda dijamin dengan saluran Amazon VPC pribadi dan tidak menggunakan internet publik. Anda dapat memberikan kode fungsi Lambda Anda sendiri, atau Anda dapat menggunakan implementasi default dari konektor data Athena untuk metastore Hive eksternal.

**Topics**
+ [Ikhtisar fitur](#connect-to-a-data-source-hive-features)
+ [Alur kerja](#connect-to-data-source-hive-workflow)
+ [Pertimbangan dan batasan](#connect-to-a-data-source-hive-considerations)
+ [Hubungkan Athena ke metastore Apache Hive](connect-to-data-source-hive-connecting-athena-to-an-apache-hive-metastore.md)
+ [Gunakan AWS Serverless Application Repository untuk menyebarkan konektor sumber data Hive](connect-data-source-sar-hive.md)
+ [Hubungkan Athena ke metastore Hive menggunakan peran eksekusi IAM yang ada](connect-data-source-hive-existing-iam-role.md)
+ [Konfigurasikan Athena untuk menggunakan konektor metastore Hive yang digunakan](connect-data-source-hive-existing-lambda.md)
+ [Hilangkan nama katalog dalam kueri metastore Hive eksternal](datastores-hive-default-catalog.md)
+ [Bekerja dengan tampilan Hive](hive-views.md)
+ [Gunakan AWS CLI metastores with Hive](datastores-hive-cli.md)
+ [Ubah konektor metastore Hive eksternal Athena](datastores-hive-reference-implementation.md)

## Ikhtisar fitur
<a name="connect-to-a-data-source-hive-features"></a>

Dengan konektor data Athena untuk metastore Hive eksternal, Anda dapat melakukan tugas-tugas berikut:
+ Gunakan konsol Athena untuk mendaftarkan katalog kustom dan menjalankan kueri menggunakan mereka.
+ Mendefinisikan fungsi Lambda untuk metastores Hive eksternal yang berbeda dan bergabung dengan mereka dalam permintaan Athena.
+ Gunakan metastor Hive AWS Glue Data Catalog dan eksternal Anda dalam kueri Athena yang sama.
+ Menentukan katalog dalam konteks eksekusi kueri sebagai katalog default saat ini. Ini akan menghapus persyaratan untuk nama katalog awalan untuk nama basis data dalam pertanyaan Anda. Alih-alih menggunakan sintaks`{{catalog}}.{{database}}.{{table}}`, Anda dapat menggunakan`{{database}}.{{table}}`.
+ Menggunakan berbagai alat untuk menjalankan kueri yang referensi metastores Hive eksternal. Anda dapat menggunakan konsol Athena, AWS SDK, Athena AWS CLI, dan driver Athena JDBC APIs dan ODBC yang diperbarui. Driver yang diperbarui memiliki dukungan untuk katalog kustom.

### Dukungan API
<a name="connect-to-a-data-source-hive-features-api"></a>

Athena Data Connector untuk Eksternal Hive Metastore termasuk dukungan untuk operasi API pendaftaran katalog dan operasi metadata API.
+ **Pendaftaran katalog**— Mendaftar katalog kustom untuk metastores Hive eksternal dan[Sumber data gabungan](federated-queries.md). 
+ **Metadata** — Gunakan metadata APIs untuk memberikan informasi database dan tabel untuk AWS Glue dan katalog apa pun yang Anda daftarkan di Athena.
+ **Athena JAVA SDK client** - Gunakan pendaftaran katalog APIs, metadata APIs, dan dukungan untuk katalog `StartQueryExecution` dalam operasi di klien Athena Java SDK yang diperbarui.

### Implementasi referensi
<a name="connect-to-a-data-source-hive-features-reference-implementation"></a>

Athena menyediakan implementasi referensi untuk fungsi Lambda yang menghubungkan ke metastores Hive eksternal. Implementasi referensi disediakan GitHub sebagai proyek open source di [Athena Hive](https://github.com/awslabs/aws-athena-hive-metastore) metastore.

Implementasi referensi tersedia sebagai dua AWS SAM aplikasi berikut dalam AWS Serverless Application Repository (SAR). Anda dapat menggunakan salah satu dari aplikasi ini di SAR untuk membuat fungsi Lambda Anda sendiri.
+ `AthenaHiveMetastoreFunction`— Fungsi Lambda`.jar`file. Sebuah “uber” JAR (juga dikenal sebagai JAR lemak atau JAR dengan dependensi) adalah`.jar`file yang berisi kedua program Java dan dependensi dalam satu file. 
+ `AthenaHiveMetastoreFunctionWithLayer`— Lapisan lambda dan fungsi Lambda tipis`.jar`file.

## Alur kerja
<a name="connect-to-data-source-hive-workflow"></a>

Diagram berikut menunjukkan bagaimana Athena berinteraksi dengan metastore Hive eksternal Anda.

![Bagaimana Athena berinteraksi dengan metastore Hive eksternal Anda.](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/connect-to-data-source-hive-workflow.png)


Dalam alur kerja ini, Anda basis data-terhubung Hive metastore adalah di dalam VPC Anda. Anda menggunakan Hive Server2 untuk mengelola metastore Hive Anda menggunakan CLI Hive.

Alur kerja untuk menggunakan metastores Hive eksternal dari Athena mencakup langkah-langkah berikut.

1. Anda membuat fungsi Lambda yang menghubungkan Athena ke metastore Hive yang ada di dalam VPC Anda.

1. Anda mendaftarkan nama katalog unik untuk metastore Hive Anda dan nama fungsi yang sesuai di akun Anda.

1. Saat Anda menjalankan permintaan Athena DDLL atau DDL yang menggunakan nama katalog, mesin permintaan Athena memanggil nama fungsi Lambda yang Anda terkait dengan nama katalog.

1. Menggunakan AWS PrivateLink, fungsi Lambda berkomunikasi dengan metastore Hive eksternal di VPC Anda dan menerima respons terhadap permintaan metadata. Athena menggunakan metadata dari metastore Hive eksternal Anda seperti menggunakan metadata dari default AWS Glue Data Catalog.

## Pertimbangan dan batasan
<a name="connect-to-a-data-source-hive-considerations"></a>

Saat Anda menggunakan Athena Data konektor untuk Eksternal Hive Metastore, pertimbangkan hal-hal berikut:
+ Anda dapat menggunakan CTAS untuk membuat tabel pada metastore Hive eksternal.
+ Anda dapat menggunakan INSERT INTO untuk menyisipkan data ke metastore Hive eksternal.
+ dukungan DDL untuk metastore Hive eksternal terbatas pada pernyataan berikut.
  + MENGUBAH DATABASE SET DBPROPERTIES
  + MENGUBAH TABEL TAMBAHKAN KOLOM
  + ALTER TABLE ADD PARTITION
  + UBAH PARTISI DROP TABEL
  + MENGUBAH NAMA TABEL PARTISI
  + MENGUBAH TABEL GANTI KOLOM
  + MENGUBAH LOKASI SET TABEL
  + MENGUBAH TABEL SET TBLPROPERTIES
  + BUAT BASIS DATA
  + CREATE TABLE
  + CREATE TABLE AS
  + MENGGAMBARKAN TABEL
  + DROP DATABASE
  + MEJA DROP
  + TAMPILKAN KOLOM
  + TAMPILKAN TABEL BUAT
  + TAMPILKAN PARTISI
  + TAMPILKAN SKEMA
  + TAMPILKAN TABEL
  + TBLPROPERTIES
+ Jumlah maksimum katalog terdaftar yang dapat Anda miliki adalah 1.000.
+ Otentikasi Kerberos untuk Hive metastore tidak didukung.
+ Untuk menggunakan driver JDBC dengan metastore Hive eksternal atau[Kueri gabungan](federated-queries.md), termasuk`MetadataRetrievalMethod=ProxyAPI`dalam string koneksi JDBC Anda. Untuk informasi tentang driver JDBC, lihat[Connect ke Amazon Athena dengan JDBC](connect-with-jdbc.md).
+ Kolom tersembunyi Hive`$path`,,`$bucket`, `$file_size` `$file_modified_time``$partition`, `$row_id` tidak dapat digunakan untuk pemfilteran kontrol akses berbutir halus. 
+ Sarang tabel sistem tersembunyi seperti `{{example_table}}$partitions` atau tidak `{{example_table}}$properties` didukung oleh kontrol akses berbutir halus.

### Izin
<a name="connect-to-a-data-source-hive-considerations-permissions"></a>

Prebuilt dan konektor data kustom mungkin memerlukan akses ke sumber daya berikut untuk berfungsi dengan benar. Periksa informasi untuk konektor yang Anda gunakan untuk memastikan bahwa Anda telah mengonfigurasi VPC Anda dengan benar. Untuk informasi tentang izin IAM yang diperlukan untuk menjalankan kueri dan membuat konektor sumber data di Athena, lihat[Izinkan akses ke Konektor Data Athena untuk Metastore Sarang Eksternal](hive-metastore-iam-access.md)dan[Izinkan akses fungsi Lambda ke metastores Hive eksternal](hive-metastore-iam-access-lambda.md).
+ **Amazon S3**— Selain menulis hasil kueri ke lokasi hasil kueri Athena di Amazon S3, konektor data juga menulis ke bucket tumpahan di Amazon S3. Konektivitas dan izin ke lokasi Amazon S3 ini diperlukan. Untuk informasi selengkapnya, lihat [Lokasi sementara di Amazon S3](#connect-to-data-source-hive-spill-location) dalam topik ini.
+ **Athena**— Akses diperlukan untuk memeriksa status kueri dan mencegah overscan.
+ **AWS Glue**— Akses diperlukan jika konektor Anda menggunakan AWS Glue metadata tambahan atau primer.
+ **AWS Key Management Service**
+ **Kebijakan** — Hive metastore, Athena Query Federation, dan UDFs memerlukan kebijakan selain. [AWS kebijakan terkelola: AmazonAthenaFullAccess](security-iam-awsmanpol.md#amazonathenafullaccess-managed-policy) Untuk informasi selengkapnya, lihat [Manajemen identitas dan akses di Athena](security-iam-athena.md).

### Lokasi sementara di Amazon S3
<a name="connect-to-data-source-hive-spill-location"></a>

Karena[Batasan](https://docs.aws.amazon.com/lambda/latest/dg/limits.html)pada ukuran respon fungsi Lambda, tanggapan lebih besar dari tumpahan ambang ke lokasi Amazon S3 yang Anda tentukan saat Anda membuat fungsi Lambda Anda. Athena membaca tanggapan ini dari Amazon S3 langsung. 

**catatan**  
Athena tidak menghapus file respon pada Amazon S3. Sebaiknya atur kebijakan penyimpanan untuk menghapus file respons secara otomatis. 