Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengintegrasikan Tabel AWS Amazon S3 dengan layanan analitik
Topik ini mencakup prasyarat dan prosedur yang diperlukan untuk mengintegrasikan bucket tabel Amazon S3 Anda dengan layanan analitik. AWS Untuk gambaran umum tentang cara kerja integrasi, lihatIkhtisar integrasi Tabel S3.
catatan
Integrasi ini menggunakan AWS Glue dan AWS Lake Formation layanan dan mungkin menimbulkan AWS Glue permintaan dan biaya penyimpanan. Untuk informasi selengkapnya, silakan lihat Harga AWS Glue
Harga tambahan berlaku untuk menjalankan kueri pada tabel S3 Anda. Untuk informasi selengkapnya, lihat informasi harga untuk mesin kueri yang Anda gunakan.
Prasyarat untuk integrasi
Prasyarat berikut diperlukan untuk mengintegrasikan bucket tabel dengan layanan analitik: AWS
Lampirkan kebijakan AWSLakeFormationDataAdmin AWS terkelola ke prinsipal AWS Identity and Access Management (IAM) Anda untuk menjadikan pengguna tersebut administrator data lake. Untuk informasi selengkapnya tentang cara membuat administrator data lake, lihat Membuat administrator data lake di Panduan AWS Lake Formation Pengembang.
-
Tambahkan izin untuk
glue:PassConnection
operasi ke kepala IAM Anda. -
Tambahkan izin untuk
lakeformation:RegisterResource
danlakeformation:RegisterResourceWithPrivilegedAccess
operasi ke kepala IAM Anda. Perbarui ke versi terbaru dari AWS Command Line Interface (AWS CLI).
penting
Saat membuat tabel, pastikan Anda menggunakan semua huruf kecil dalam nama tabel dan definisi tabel Anda. Misalnya, pastikan bahwa nama kolom Anda semua huruf kecil. Jika nama tabel atau definisi tabel berisi huruf kapital, tabel tidak didukung oleh AWS Lake Formation atau AWS Glue Data Catalog. Dalam hal ini, tabel Anda tidak akan terlihat oleh layanan AWS analitik seperti Amazon Athena, meskipun bucket tabel Anda terintegrasi dengan AWS layanan analitik.
Jika definisi tabel berisi huruf kapital, Anda menerima pesan galat berikut saat menjalankan SELECT
kueri di Athena: “GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model. ValidationException: Sumber Daya Federasi Tidak Didukung - Nama tabel atau kolom tidak valid
.”
Mengintegrasikan bucket tabel dengan AWS layanan analitik
Integrasi ini harus dilakukan satu kali per AWS Wilayah.
penting
Integrasi layanan AWS analitik sekarang menggunakan WithPrivilegedAccess
opsi dalam operasi registerResource
Lake Formation API untuk mendaftarkan bucket tabel S3. Integrasi juga sekarang membuat s3tablescatalog
katalog di AWS Glue Data Catalog dengan menggunakan AllowFullTableExternalDataAccess
opsi dalam operasi CreateCatalog
AWS Glue API.
Jika Anda mengatur integrasi dengan rilis pratinjau, Anda dapat terus menggunakan integrasi Anda saat ini. Namun, proses integrasi yang diperbarui memberikan peningkatan kinerja, jadi kami sarankan untuk bermigrasi. Untuk bermigrasi ke integrasi yang diperbarui, lihatMigrasi ke proses integrasi yang diperbarui.
Buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
Di panel navigasi kiri, pilih Bucket tabel.
Pilih Buat ember meja.
Halaman bucket Create table terbuka.
Masukkan nama bucket Table dan pastikan kotak centang Aktifkan integrasi dipilih.
Pilih Buat ember meja. Amazon S3 akan mencoba mengintegrasikan bucket tabel Anda secara otomatis di Wilayah tersebut.
Pertama kali Anda mengintegrasikan bucket tabel di Wilayah mana pun, Amazon S3 membuat peran layanan IAM baru atas nama Anda. Peran ini memungkinkan Lake Formation mengakses semua bucket tabel di akun Anda dan akses federasi ke tabel Anda. AWS Glue Data Catalog
Untuk mengintegrasikan ember meja menggunakan AWS CLI
Langkah-langkah berikut menunjukkan cara menggunakan bucket tabel AWS CLI untuk mengintegrasikan. Untuk menggunakan langkah-langkah ini, ganti
dengan informasi Anda sendiri.user input placeholders
Buat ember meja.
aws s3tables create-table-bucket \ --region
us-east-1
\ --nameamzn-s3-demo-table-bucket
-
Buat peran layanan IAM yang memungkinkan Lake Formation mengakses sumber daya tabel Anda.
-
Buat file bernama
Role-Trust-Policy.json
yang berisi kebijakan kepercayaan berikut:Buat peran layanan IAM dengan menggunakan perintah berikut:
aws iam create-role \ --role-name
S3TablesRoleForLakeFormation
\ --assume-role-policy-document file://Role-Trust-Policy.json
-
Buat file bernama
LF-GluePolicy.json
yang berisi kebijakan berikut:Lampirkan kebijakan ke peran dengan menggunakan perintah berikut:
aws iam put-role-policy \ --role-name
S3TablesRoleForLakeFormation
\ --policy-name LakeFormationDataAccessPermissionsForS3TableBucket \ --policy-document file://LF-GluePolicy.json
-
-
Buat file bernama
input.json
yang berisi berikut ini:{ "ResourceArn": "arn:aws:s3tables:
us-east-1
:111122223333
:bucket/*", "WithFederation": true, "RoleArn": "arn:aws:iam::111122223333
:role/S3TablesRoleForLakeFormation
" }Daftarkan bucket tabel dengan Lake Formation dengan menggunakan perintah berikut:
aws lakeformation register-resource \ --region
us-east-1
\ --with-privileged-access \ --cli-input-json file://input.json
-
Buat file bernama
catalog.json
yang berisi katalog berikut:{ "Name": "s3tablescatalog", "CatalogInput": { "FederatedCatalog": { "Identifier": "arn:aws:s3tables:
us-east-1
:111122223333
:bucket/*", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions":[], "CreateTableDefaultPermissions":[], "AllowFullTableExternalDataAccess": "True" } }Buat
s3tablescatalog
katalog dengan menggunakan perintah berikut. Membuat katalog ini mengisi dengan objek yang sesuai AWS Glue Data Catalog dengan bucket tabel, ruang nama, dan tabel.aws glue create-catalog \ --region
us-east-1
\ --cli-input-json file://catalog.json
Verifikasi bahwa
s3tablescatalog
katalog telah ditambahkan AWS Glue dengan menggunakan perintah berikut:aws glue get-catalog --catalog-id s3tablescatalog
Proses integrasi layanan AWS analitik telah diperbarui. Jika Anda telah menyiapkan integrasi dengan rilis pratinjau, Anda dapat terus menggunakan integrasi Anda saat ini. Namun, proses integrasi yang diperbarui memberikan peningkatan kinerja, jadi kami sarankan untuk bermigrasi dengan menggunakan langkah-langkah berikut. Untuk informasi selengkapnya tentang proses migrasi atau integrasi, lihat Membuat katalog Tabel Amazon S3 AWS Glue Data Catalog di Panduan AWS Lake Formation Pengembang.
-
Buka AWS Lake Formation konsol dihttps://console.aws.amazon.com/lakeformation/
, dan masuk sebagai administrator danau data. Untuk informasi selengkapnya tentang cara membuat administrator data lake, lihat Membuat administrator data lake di Panduan AWS Lake Formation Pengembang. -
Hapus
s3tablescatalog
katalog Anda dengan melakukan hal berikut:-
Di panel navigasi kiri, pilih Katalog.
-
Pilih tombol opsi di sebelah
s3tablescatalog
katalog dalam daftar Katalog. Dari menu Tindakan, pilih Hapus.
-
-
Batalkan pendaftaran lokasi data untuk
s3tablescatalog
katalog dengan melakukan hal berikut:-
Di panel navigasi kiri, buka bagian Administrasi, dan pilih Lokasi danau data.
-
Pilih tombol opsi di sebelah lokasi danau
s3tablescatalog
data, misalnya,s3://tables:
.region
:account-id
:bucket/* -
Pada menu Tindakan, pilih Hapus.
-
Di kotak dialog konfirmasi yang muncul, pilih Hapus.
-
-
Setelah menghapus
s3tablescatalog
katalog dan lokasi data lake, Anda dapat mengikuti langkah-langkah untuk mengintegrasikan bucket tabel Anda dengan layanan AWS analitik dengan menggunakan proses integrasi yang diperbarui.
catatan
Jika Anda ingin bekerja dengan tabel terenkripsi SSE-KMS dalam layanan AWS analitik terintegrasi, peran yang Anda gunakan harus memiliki izin untuk menggunakan kunci Anda AWS KMS untuk operasi enkripsi. Untuk informasi selengkapnya, lihat Memberikan izin kepada prinsipal IAM untuk bekerja dengan tabel terenkripsi dalam layanan analitik terintegrasi AWS.
Setelah Anda mengintegrasikan kepala IAM Anda diberikan izin Lake Formation untuk mengakses tabel Anda, jika Anda ingin mengizinkan prinsipal IAM lainnya untuk mengakses tabel, Anda harus memberikan izin Lake Formation pada tabel Anda kepada prinsipal tersebut. Untuk informasi selengkapnya, lihat Mengelola akses ke tabel atau database dengan Lake Formation.