Gunakan metastore Hive eksternal - Amazon Athena

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

Gunakan metastore Hive eksternal

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 pribadi Anda VPC dan kemudian menghubungkannya ke metastore. Koneksi dari Lambda ke metastore Hive Anda diamankan oleh saluran VPC Amazon 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.

Ikhtisar fitur

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 sintakscatalog.database.table, Anda dapat menggunakandatabase.table.

  • Menggunakan berbagai alat untuk menjalankan kueri yang referensi metastores Hive eksternal. Anda dapat menggunakan konsol Athena, the, the, Athena AWS CLI, dan AWS SDK Athena APIs dan driver yang diperbarui. JDBC ODBC Driver yang diperbarui memiliki dukungan untuk katalog kustom.

APIdukungan

Konektor Data Athena untuk External Hive Metastore mencakup dukungan untuk operasi pendaftaran API katalog dan operasi metadata. API

  • Pendaftaran katalog— Mendaftar katalog kustom untuk metastores Hive eksternal danSumber data gabungan.

  • Metadata — Gunakan metadata APIs untuk memberikan informasi database dan tabel untuk AWS Glue dan katalog apa pun yang Anda daftarkan di Athena.

  • JAVASDKKlien Athena — Gunakan pendaftaran katalogAPIs, metadataAPIs, dan dukungan untuk katalog dalam operasi StartQueryExecution di klien Athena Java yang diperbarui. SDK

Implementasi referensi

Athena menyediakan implementasi referensi untuk fungsi Lambda yang menghubungkan ke metastores Hive eksternal. Implementasi referensi disediakan GitHub sebagai proyek open source di Athena Hive metastore.

Implementasi referensi tersedia sebagai dua AWS SAM aplikasi berikut di AWS Serverless Application Repository (SAR). Anda dapat menggunakan salah satu dari aplikasi ini SAR untuk membuat fungsi Lambda Anda sendiri.

  • AthenaHiveMetastoreFunction— Fungsi Lambda.jarfile. “Uber” JAR (juga dikenal sebagai fat JAR atau JAR dengan dependensi) adalah .jar file yang berisi program Java dan dependensinya dalam satu file.

  • AthenaHiveMetastoreFunctionWithLayer— Lapisan lambda dan fungsi Lambda tipis.jarfile.

Alur kerja

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

Bagaimana Athena berinteraksi dengan metastore Hive eksternal Anda.

Dalam alur kerja ini, metastore Hive yang terhubung dengan database Anda ada di dalam Anda. VPC Anda menggunakan Hive Server2 untuk mengelola metastore Hive Anda menggunakan Hive. CLI

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 Anda. VPC

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

  3. Saat Anda menjalankan Athena DML atau DDL kueri yang menggunakan nama katalog, mesin kueri Athena memanggil nama fungsi Lambda yang Anda kaitkan dengan nama katalog.

  4. Menggunakan AWS PrivateLink, fungsi Lambda berkomunikasi dengan metastore Hive eksternal di Anda VPC 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

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.

  • DDLdukungan untuk metastore Hive eksternal terbatas pada pernyataan berikut.

    • ALTER DATABASE SET DBPROPERTIES

    • ALTER TABLE ADD COLUMNS

    • ALTER TABLE ADD PARTITION

    • ALTER TABLE DROP PARTITION

    • ALTER TABLE RENAME PARTITION

    • ALTER TABLE REPLACE COLUMNS

    • ALTER TABLE SET LOCATION

    • ALTER TABLE SET TBLPROPERTIES

    • CREATE DATABASE

    • CREATE TABLE

    • CREATETABLESEBAGAI

    • DESCRIBE TABLE

    • DROP DATABASE

    • DROP TABLE

    • SHOW COLUMNS

    • SHOW CREATE TABLE

    • SHOW PARTITIONS

    • SHOW SCHEMAS

    • SHOW TABLES

    • SHOW TBLPROPERTIES

  • Jumlah maksimum katalog terdaftar yang dapat Anda miliki adalah 1.000.

  • Otentikasi Kerberos untuk Hive metastore tidak didukung.

  • Untuk menggunakan JDBC driver dengan metastore Hive eksternal atau kueri federasi, sertakan MetadataRetrievalMethod=ProxyAPI dalam string koneksi Anda. JDBC Untuk informasi tentang JDBC pengemudi, lihatConnect ke Amazon Athena dengan JDBC.

  • 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

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 dengan benar. Untuk informasi tentang IAM izin yang diperlukan untuk menjalankan kueri dan membuat konektor sumber data di Athena, lihat dan. Izinkan akses ke Konektor Data Athena untuk Metastore Sarang Eksternal Izinkan akses fungsi Lambda ke metastores Hive eksternal

  • 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 tumpahan di Amazon S3 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 Untuk informasi selengkapnya, lihat Manajemen identitas dan akses di Athena.

Lokasi tumpahan di Amazon S3

KarenaBatasanpada 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.