Bekerja dengan datashares yang dikelola Lake Formation sebagai konsumen - Amazon Redshift

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

Bekerja dengan datashares yang dikelola Lake Formation sebagai konsumen

Dengan Amazon Redshift, Anda dapat mengakses dan menganalisis data yang dibagikan dengan Anda melalui AWS Lake Formation datashares. Datashare adalah produk data yang berisi kumpulan objek data, seperti tabel atau database, dari sumber data yang berbeda.

Setelah AWS Lake Formation administrator menemukan undangan datashare dan membuat database di link AWS Glue Data Catalog tersebut ke datashare, cluster konsumen atau administrator workgroup dapat mengaitkan cluster dengan datashare dan database di AWS Glue Data Catalog, membuat database lokal ke cluster konsumen atau workgroup, dan memberikan akses ke pengguna dan peran di cluster konsumen Amazon Redshift atau workgroup untuk memulai kueri. Ikuti langkah-langkah ini untuk menyiapkan izin kueri.

  1. Di konsol Amazon Redshift, buat klaster Redshift untuk berfungsi sebagai cluster konsumen atau workgroup, jika diperlukan. Untuk informasi tentang cara membuat klaster, lihat Membuat klaster.

  2. Untuk membuat daftar database mana di cluster AWS Glue Data Catalog konsumen atau kelompok kerja yang dapat diakses pengguna, jalankan perintah. SHOWDATABASES

    SHOW DATABASES FROM DATA CATALOG [ACCOUNT <account-id>,<account-id2>] [LIKE <expression>]

    Melakukan hal itu mencantumkan sumber daya yang tersedia dari Katalog Data, seperti AWS Glue databaseARN, nama database, dan informasi tentang datashare.

  3. Menggunakan AWS Glue database ARN dari SHOWDATABASES, membuat database lokal di cluster konsumen atau workgroup. Untuk informasi lebih lanjut, lihat CREATEDATABASE.

    CREATE DATABASE lf_db FROM ARN <lake-formation-database-ARN> WITH [NO] DATA CATALOG SCHEMA [<schema>];
  4. Berikan akses pada database dan referensi skema yang dibuat dari datashares kepada pengguna dan peran dalam cluster konsumen atau kelompok kerja sesuai kebutuhan. Untuk informasi lebih lanjut, lihat GRANTatau REVOKE. Perhatikan bahwa pengguna yang dibuat dari CREATEUSERperintah tidak dapat mengakses objek di datashare yang telah dibagikan ke Lake Formation. Hanya pengguna dengan akses ke Redshift dan Lake Formation yang dapat mengakses datashares yang telah dibagikan dengan Lake Formation.

    GRANT USAGE ON DATABASE sales_db TO IAM:Bob;

    Sebagai administrator klaster konsumen atau grup kerja, Anda hanya dapat menetapkan izin di seluruh database yang dibuat dari database ke pengguna dan peran Anda. Dalam beberapa kasus, Anda memerlukan kontrol halus pada subset objek database yang dibuat dari datashare.

    Anda juga dapat membuat tampilan pengikatan akhir di atas objek bersama dan menggunakannya untuk menetapkan izin granular. Anda juga dapat mempertimbangkan agar cluster produsen atau grup kerja membuat datashares tambahan untuk Anda dengan perincian yang diperlukan. Anda dapat membuat referensi skema sebanyak mungkin ke database yang dibuat dari datashare.

  5. Pengguna database dapat menggunakan tampilan SVV _ EXTERNAL _ TABLES dan SVV EXTERNAL _ _ COLUMNS untuk menemukan semua tabel atau kolom bersama dalam AWS Glue database

    SELECT * from svv_external_tables WHERE redshift_database_name = 'lf_db'; SELECT * from svv_external_columns WHERE redshift_database_name = 'lf_db';
  6. Kueri data dalam objek bersama di datashares.

    Pengguna dan peran dengan izin pada basis data dan skema konsumen pada kluster konsumen atau grup kerja dapat menjelajahi dan menavigasi metadata objek bersama apa pun. Mereka juga dapat menjelajahi dan menavigasi objek lokal di cluster konsumen atau kelompok kerja. Untuk melakukannya, mereka dapat menggunakan ODBC driver JDBC atau EXTERNAL tampilan SVV _ ALL dan SVV _.

    SELECT * FROM lf_db.schema.table;

    Anda hanya dapat menggunakan SELECT pernyataan pada objek bersama. Namun, Anda dapat membuat tabel di cluster konsumen dengan menanyakan data dari objek bersama di database lokal yang berbeda.

    // Connect to a local cluster database // Create a view on shared objects and access it. CREATE VIEW sales_data AS SELECT * FROM sales_db.public.tickit_sales_redshift WITH NO SCHEMA BINDING; SELECT * FROM sales_data;