Menggunakan Athena Data Connector untuk Eksternal Hive Metastore - Amazon Athena

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

Menggunakan Athena Data Connector untuk Eksternal Hive Metastore

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.

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, AWS SDK, Athena AWS CLI API, dan driver Athena JDBC dan ODBC yang diperbarui. Driver yang diperbarui memiliki dukungan untuk katalog kustom.

Dukungan API

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 danSumber data gabungan.

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

  • Klien SDK Athena JAVA— Gunakan API pendaftaran katalog, API metadata, dan dukungan untuk katalog diStartQueryExecutionoperasi di klien Athena Java SDK diperbarui.

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 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.jarfile. Sebuah “uber” JAR (juga dikenal sebagai JAR lemak atau JAR dengan dependensi) adalah.jarfile yang berisi kedua program Java dan dependensi 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, 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.

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

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

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

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

    • BUAT TABEL SEBAGAI

    • 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 atauKueri gabungan, termasukMetadataRetrievalMethod=ProxyAPIdalam string koneksi JDBC Anda. Untuk informasi tentang driver JDBC, lihatMenghubungkan 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 Anda dengan benar. Untuk informasi tentang izin IAM yang diperlukan untuk menjalankan kueri dan membuat konektor sumber data di Athena, lihatIzinkan akses ke Konektor Data Athena untuk Metastore Sarang EksternaldanIzinkan 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 Kueri Federation, dan UDFS memerlukan kebijakan selainAWS 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.