View a markdown version of this page

Ekspor metadata ke Tabel S3 (pratinjau) - AWS Lem

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

Ekspor metadata ke Tabel S3 (pratinjau)

catatan

Ekspor metadata katalog tersedia sebagai fitur pratinjau. Fitur ini dapat berubah sebelum ketersediaan umum.

Gambaran umum

Anda dapat mengekspor AWS Glue Data Catalog metadata ke tabel sistem katalog terkelola yang disimpan di Tabel Amazon S3. Saat Anda mengaktifkan ekspor Tabel S3, metadata teknis dan bisnis Anda disimpan dalam tabel Apache Iceberg yang hanya dapat dibaca di bucket aws-catalog tabel terkel AWS ola, membuatnya dapat dikueri menggunakan SQL dengan layanan AWS analitik seperti, Amazon Redshift, dan Amazon EMR.

Di dalam bucket aws-catalog tabel, tabel sistem berada di ruang nama berikut:

  • glue— berisi tables dantable_columns.

  • catalog_metadata— berisiglossaries,glossary_terms,associated_glossary_terms,attachments, danitem_attachments.

Tabel sistem berikut saat ini didukung:

Tabel sistem Contains

tables

Metadata teknis dan bisnis untuk setiap tabel dalam Katalog Data, seperti nama, database, deskripsi, lokasi penyimpanan, dan formatnya.

table_columns

Kolom dari setiap tabel katalog, termasuk nama setiap kolom, tipe data, deskripsi, dan apakah itu kunci partisi.

glossaries

Glosarium bisnis dalam katalog Anda, termasuk nama, deskripsi, dan status setiap glosarium.

glossary_terms

Istilah yang didefinisikan dalam glosarium Anda, termasuk nama, deskripsi, glosarium induk, dan status setiap istilah.

associated_glossary_terms

Asosiasi antara istilah glosarium dan aset, termasuk pengidentifikasi aset dan pengidentifikasi istilah glosarium.

attachments

Custom-form metadata yang dilampirkan pada tingkat aset, termasuk jenis formulir dan konten lampiran.

item_attachments

Custom-form metadata yang dilampirkan ke item dalam aset, seperti kolom individual, termasuk nama formulir yang dapat diulang, nama item, jenis formulir, dan konten lampiran.

Untuk skema tingkat kolom lengkap dari setiap tabel, lihat. Referensi tabel sistem katalog

Cara kerja ekspor metadata katalog

Setelah Anda mengaktifkan ekspor, Katalog Data melakukan pengisian ulang satu kali dari metadata katalog yang ada dan kemudian memperbarui tabel sistem saat Anda membuat perubahan. Metadata yang baru ditulis atau diperbarui biasanya terlihat di tabel sistem dalam waktu sekitar 5 menit.

Tabel sistem berada di ruang glue nama catalog_metadata dan dalam bucket aws-catalog tabel. Tabel sistem tertentu muncul saat pertama kali metadata semacam itu ada di katalog Anda. Misalnya, jika Anda mengaktifkan ekspor dan katalog Anda hanya berisi tabel dan database, Anda hanya melihat tabel sistem terkait tabel. Tabel sistem glosarium muncul setelah Anda membuat glosarium pertama Anda.

Aktifkan ekspor metadata katalog menggunakan AWS CLI

Ekspor metadata katalog adalah pengaturan tingkat akun. Anda mengaktifkan atau menonaktifkannya dengan AWS CLI.

Prasyarat

Identitas IAM yang Anda gunakan harus memiliki izin untuk memanggil operasi konfigurasi ekspor glue:PutDataCatalogExportConfiguration danglue:GetDataCatalogExportConfiguration, sertas3tables:CreateTable. Untuk informasi selengkapnya tentang izin Tabel S3, lihat Membuat tabel di bucket tabel S3 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:PutDataCatalogExportConfiguration", "glue:GetDataCatalogExportConfiguration" ], "Resource": "*" } ] }

Semua data dalam Tabel S3, termasuk metadata Katalog Data, dienkripsi dengan SSE-S3 enkripsi secara default. Anda dapat memilih untuk mengenkripsi ekspor katalog Anda dengan AWS KMS kunci (SSE-KMS). Jika Anda memilih untuk mengenkripsi dengan AWS KMS kunci, Anda harus menambahkan izin tambahan dengan mengambil langkah-langkah berikut:

  1. Berikan prinsip layanan ekspor Katalog Data dan izin utama layanan pemeliharaan Tabel S3 untuk menggunakan kunci KMS Anda (kebijakan kunci).

  2. Berikan prinsipal IAM yang menjalankan izin ekspor untuk menggunakan kunci KMS (kebijakan identitas).

Pemberian izin utama layanan ekspor Katalog Data dan izin utama layanan pemeliharaan Tabel S3 ke kunci KMS Anda

AWS Glue Untuk mengizinkan ekspor metadata katalog terenkripsi dan untuk memungkinkan pemeliharaan tabel otomatis seperti pemadatan dan penghapusan file tanpa referensi pada tabel yang diekspor, Anda harus memberikan akses prinsipal layanan berikut ke kunci KMS Anda:

  • systemtables.catalog.amazonaws.com— mengekspor metadata katalog terenkripsi ke Tabel S3.

  • maintenance.s3tables.amazonaws.com— melakukan pemeliharaan tabel otomatis pada tabel yang diekspor.

AWS Glue menulis ke bucket AWS tabel terkelola bernamaaws-catalog. Kunci KMS yang digunakan untuk mengenkripsi ekspor Tabel S3 tidak harus sama dengan yang digunakan untuk mengenkripsi Katalog Data saat diam. AWS Glue hanya mendukung kunci KMS simetris. Untuk memberikan akses kepada prinsipal layanan ini, Anda dapat menggunakan contoh kebijakan kunci berikut. Dalam kebijakan ini, prinsi maintenance.s3tables.amazonaws.com pal layanan diberikan izin untuk menggunakan kunci KMS tertentu untuk mengenkripsi dan mendekripsi tabel di bucket tabel. aws-catalog Untuk informasi selengkapnya tentang prinsip layanan pemeliharaan Tabel S3, lihat Per syaratan izin untuk SSE-KMS enkripsi Tabel S3 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSystemTablesDescribeKey", "Effect": "Allow", "Principal": { "Service": "systemtables.catalog.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } }, { "Sid": "AllowSystemTablesEncryptDecrypt", "Effect": "Allow", "Principal": { "Service": "systemtables.catalog.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3tables:us-east-1:123456789012:bucket/aws-catalog/table/*", "kms:ViaService": "s3.us-east-1.amazonaws.com" } } }, { "Sid": "AllowS3TablesMaintenanceEncryptDecrypt", "Effect": "Allow", "Principal": { "Service": "maintenance.s3tables.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3tables:us-east-1:123456789012:bucket/aws-catalog/*" } } } ] }

Izin IAM diperlukan untuk prinsipal untuk mengekspor

Berikan prinsipal yang menjalankan ekspor izin berikut. Kebijakan berikut memberikan akses utama IAM untuk mendekripsi konteks glue_catalog_id enkripsi tertentu AWS Glue Data Catalog(nilainya adalah milik AndacatalogId).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDescribeKey", "Effect": "Allow", "Action": [ "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } }, { "Sid": "AllowExportOfGlueDataCatalogByCatalogId", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "kms:EncryptionContext:glue_catalog_id": "123456789012" } } } ] }

Untuk mengaktifkan ekspor metadata katalog

  1. Jalankan perintah berikut untuk mengaktifkan ekspor:

    aws glue put-data-catalog-export-configuration \ --export-setting ENABLED
  2. Konfirmasikan konfigurasi dengan menjalankan perintah berikut:

    aws glue get-data-catalog-export-configuration

    Contoh respons:

    { "ExportSetting": "ENABLED", "Status": "ENABLED", "S3TableBucketArn": "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-catalog" }

    Transisi Status lapangan dari ENABLING ke ENABLED saat pengisian ulang awal berlangsung.

Untuk menonaktifkan ekspor metadata katalog

Jalankan perintah berikut:

aws glue put-data-catalog-export-configuration \ --export-setting DISABLED

Referensi tabel sistem katalog

Semua tabel sistem berada di ruang catalog_metadata nama glue atau dalam bucket aws-catalog tabel. Setiap tabel mencakup kolom sistem berikut:

Kolom Jenis Deskripsi

ingestion_time

timestamp

Waktu catatan dicerna ke dalam tabel sistem (UTC).

schema_version

string

Pengidentifikasi versi skema untuk tabel.

tabel

Berisi satu baris per tabel katalog.

Kolom Jenis Deskripsi

id

string

Pengidentifikasi unik untuk tabel.

catalog_id

string

Pengidentifikasi katalog.

catalog_name

string

Nama katalog.

update_time

timestamp

Stempel waktu pembaruan terakhir.

created_time

timestamp

Stempel waktu pembuatan.

created_by_id

string

Pengidentifikasi kepala sekolah yang membuat tabel.

created_by_type

string

Jenis prinsip penciptaan.

description

string

Deskripsi tabel.

name

string

Nama tabel.

namespace

string

Namespace dari tabel.

region_name

string

AWS Wilayah.

tags

peta<string, string>

Tag sumber daya.

type

string

Jenis aset.

updated_by_id

string

Pengidentifikasi prinsipal yang terakhir memperbarui tabel.

updated_by_type

string

Jenis prinsip pembaruan.

database_name

string

Database yang berisi tabel.

input_format

string

Kelas format masukan.

lake_formation_registration

string

AWS Lake Formation status pendaftaran.

output_format

string

Kelas format keluaran.

owner

string

Pemilik meja.

retention

int

Periode retensi.

serde_library

string

Serialization/deserialization perpustakaan.

table_data_format

string

Format data.

table_data_location

string

URI lokasi data.

table_format

string

Format tabel (misalnya, Gunung Es, Hudi).

table_type

string

Jenis tabel.

tabel_kolom

Berisi satu baris per kolom dalam tabel katalog.

Kolom Jenis Deskripsi

id

string

Pengidentifikasi komposit dalam formatassetId#columnName.

asset_id

string

Pengidentifikasi tabel induk.

column_name

string

Nama kolom.

description

string

Deskripsi kolom.

type

string

Jenis data kolom.

is_partition_key

boolean

Apakah kolom adalah kunci partisi.

lampiran

Berisi lampiran formulir kustom tingkat aset (satu baris per lampiran pada aset).

Kolom Jenis Deskripsi

asset_id

string

Pengidentifikasi aset induk.

attachment_name

string

Nama lampiran.

form_type_id

string

Jenis formulir terdaftar dari konten.

content_json

string

Konten lampiran sebagai JSON-encoded string.

lampiran item

Berisi lampiran pada item dalam formulir yang dapat diiterasi, seperti kolom individual.

Kolom Jenis Deskripsi

asset_id

string

Pengidentifikasi aset induk.

iterable_form_name

string

Nama formulir yang dapat diiterasi (misalnya, kolom).

item_name

string

Nama item (misalnya, nama kolom).

attachment_name

string

Nama lampiran.

form_type_id

string

Jenis formulir terdaftar dari konten.

content_json

string

Konten lampiran sebagai JSON-encoded string.

glosarium

Berisi satu baris per glosarium.

Kolom Jenis Deskripsi

id

string

Pengidentifikasi glosarium unik.

description

string

Deskripsi glosarium.

name

string

Nama glosarium.

status

string

Status (ENABLEDatauDISABLED).

glossary_terms

Berisi satu baris per istilah glosarium.

Kolom Jenis Deskripsi

id

string

Pengidentifikasi istilah unik.

glossary_id

string

Pengidentifikasi glosarium induk.

long_description

string

Deskripsi istilah terperinci.

name

string

Nama istilah.

short_description

string

Deskripsi istilah singkat.

status

string

Status (ENABLEDatauDISABLED).

termasukan_glossary_terkait_istilah-istilah

Berisi satu baris per asosiasi antara istilah glosarium dan aset.

Kolom Jenis Deskripsi

asset_id

string

Pengidentifikasi aset yang dikaitkan dengan istilah glosarium.

glossary_term_id

string

Pengidentifikasi istilah glosarium yang terkait dengan aset. Bergabung dengan glossary_terms meja.

Mengkueri tabel sistem katalog

Sebelum Anda dapat menanyakan metadata katalog yang diekspor ke Tabel S3 menggunakan layanan AWS analitik seperti atau Amazon EMR, Anda harus mengaktifkan integrasi analitik pada bucket aws-catalog tabel ter AWS kelola dan mengonfigurasi AWS Lake Formation izin.

Prasyarat

  • Ekspor metadata katalog diaktifkan dan statusnya adalahENABLED.

  • Akses ke atau layanan analitik lainnya.

  • Menunggu 5 menit setelah mengaktifkan ekspor agar data tersedia.

Ikhtisar integrasi

Untuk informasi terperinci tentang mengintegrasikan Tabel S3 dengan layanan AWS analitik, termasuk prasyarat, konfigurasi peran IAM, dan prosedur langkah demi langkah, lihat Meng integrasikan Tabel Amazon S3 dengan layanan AWS analitik di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Setelah mengaktifkan ekspor Tabel S3 dan mengatur integrasi analitik, Anda dapat menanyakan metadata Katalog Data menggunakan layanan AWS analitik seperti, Amazon Redshift, dan Amazon EMR. Ini memungkinkan Anda untuk melakukan audit metadata dan analisis menggunakan SQL standar.

Kueri contoh

Daftar semua tabel katalog dengan database dan formatnya

SELECT id, name, database_name, table_format FROM aws_catalog.glue.tables;
Temukan kolom dengan deskripsi untuk tabel tertentu

SELECT column_name, type, description FROM aws_catalog.glue.table_columns WHERE asset_id = 'table-id';
Gabungkan istilah glosarium ke glosarium induknya

SELECT g.name AS glossary_name, t.name AS term_name, t.short_description FROM aws_catalog.catalog_metadata.glossary_terms t JOIN aws_catalog.catalog_metadata.glossaries g ON t.glossary_id = g.id WHERE g.status = 'ENABLED';
Menemukan tabel yang terkait dengan istilah glosarium tertentu

SELECT t.name, t.database_name, gt.name AS term_name FROM aws_catalog.glue.tables t JOIN aws_catalog.catalog_metadata.associated_glossary_terms agt ON agt.asset_id = t.id JOIN aws_catalog.catalog_metadata.glossary_terms gt ON gt.id = agt.glossary_term_id WHERE gt.name = 'term-name';
Ekstrak bidang dari lampiran formulir khusus

SELECT asset_id, attachment_name, json_extract_scalar(content_json, '$.owner') AS data_owner FROM aws_catalog.catalog_metadata.attachments WHERE form_type_id = 'your-form-type-id';