View a markdown version of this page

Menambahkan tabel data lake ke datashare - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

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

Menambahkan tabel data lake ke datashare

Dengan datashare, produsen data dapat dengan aman berbagi objek database dengan perincian halus, seperti skema dan tabel, dengan konsumen di AWS akun yang sama atau di akun yang berbeda. Produsen juga dapat berbagi objek di seluruh Wilayah. Topik ini menjelaskan cara menambahkan objek dari danau data, khususnya, dari katalog AWS Glue data, ke datashare. Ini mencakup dua kasus penggunaan:

  • Menambahkan tampilan pengikatan terlambat ke datashare yang mereferensikan tabel dari danau data — Ini nyaman bagi konsumen, karena konfigurasi awal, seperti mendefinisikan izin pada data sumber eksternal, misalnya dengan Formasi Danau, kemungkinan sudah selesai. Manfaat tambahan adalah bahwa tampilan yang ditambahkan ke datashare dapat menggabungkan tabel dari danau data dengan tabel asli Redshift.

  • Menambahkan tabel dari skema eksternal ke datashare secara langsung — Ini membuat objek dari danau data tersedia untuk konsumen tanpa lapisan atau logika tambahan. Konsumen dapat menanyakan tabel atau menggabungkannya dengan tabel pada konsumen.

Kasus-kasus ini berlaku setelah Anda mereferensikan tabel dari katalog AWS data di Redshift menggunakan CREATE EXTERNAL SCHEMA. Setiap tabel dari katalog AWS data dapat menjadi sumbernya.

catatan

Tabel danau data yang Anda tambahkan ke datashare dapat mencakup tabel yang terdaftar dengan Lake Formation dan tabel katalog AWS Glue data.

Membuat skema eksternal dan tabel eksternal

Anda membuat skema eksternal dan tabel eksternal untuk menambahkannya ke datashare di bagian berikut. Ini adalah langkah awal. Jika Anda sudah melakukan ini, Anda dapat melewati bagian ini.

  1. Pada produsen, buat skema eksternal yang mereferensikan data danau data yang disimpan di Amazon S3. Skema eksternal mereferensi AWS kan Katalog Data Glue. Peran dan wilayah dalam sampel adalah contoh:

    CREATE EXTERNAL SCHEMA external_schema_name FROM DATA CATALOG DATABASE 'glue_database_name' IAM_ROLE 'arn:aws:iam::123456789012:role/sample-role' REGION 'us-east-1';
  2. Buat tabel data lake dalam skema eksternal.

    CREATE EXTERNAL TABLE external_schema_name.sales( salesid INTEGER, sellerid INTEGER, buyerid INTEGER, saledate DATE, pricepaid DECIMAL(8,2)) ROW FORMAT delimited FIELDS TERMINATED BY '\t' STORED AS textfile LOCATION 's3://redshift-downloads/tickit/spectrum/sales/';

    Sampel termasukLOCATION. Itu harus dalam formulirs3://{bucket_name}/{folder}/, di mana folder ditentukan. Folder harus memiliki panjang setidaknya satu karakter. Anda dapat secara opsional menyertakan subfolder. Untuk melihat contoh tambahan untuk membuat tabel di danau data, lihat Contoh untuk MEMBUAT TABEL EKSTERNAL.

    catatan

    Berbagi hanya didukung untuk tabel di mana peran IAM pada produsen memiliki akses SELECT pada tabel.

Tambahkan tampilan pengikatan terlambat yang mereferensikan tabel danau data ke datashare

Saat Anda membuat tabel berdasarkan skema eksternal dari katalog AWS data, dan Anda ingin menambahkannya ke datashare, cara paling umum untuk melakukannya adalah dengan menambahkan tampilan pengikatan terlambat Redshift yang mereferensikan tabel yang Anda buat, yang berisi data dari danau data. Prosedur berikut menunjukkan langkah-langkahnya:

  1. Buat tampilan pengikatan terlambat yang mereferensikan tabel eksternal yang Anda buat sebelumnya:

    CREATE VIEW lbv AS select * from external_schema_name.sales, other_schema.t1 WITH NO SCHEMA BINDING;
  2. Tambahkan skema tampilan ke datashare. Ini adalah skema lokal yang berisi tampilan pengikatan terlambat.

    ALTER DATASHARE dsx_datashare ADD SCHEMA public;
  3. Tambahkan skema yang berisi tabel yang direferensikan oleh tampilan pengikatan terlambat ke datashare. Menambahkan skema diperlukan untuk setiap tabel dasar yang direferensikan dalam tampilan yang ditambahkan ke datashare, apakah skema berisi objek database lokal atau objek dari danau data. Perhatikan bahwa Anda harus menambahkan skema ini sebelum menambahkan tampilan pengikatan terlambat.

    ALTER DATASHARE dsx_datashare ADD SCHEMA external_schema_name; ALTER DATASHARE dsx_datashare ADD SCHEMA other_schema;
  4. Tambahkan tampilan ke datashare, menggunakan perintah SQL. Perhatikan bahwa nama tabel menyertakan awalan skema.

    ALTER DATASHARE my_datashare ADD TABLE public.lbv;
  5. Konfirmasikan bahwa tampilan dan skema berhasil ditambahkan ke datashare:

    SELECT * FROM svv_datashare_objects WHERE share_name = 'my_datashare';
  6. Administrator konsumen membuat database dari datashare dan kemudian memberikan penggunaan kepada pengguna konsumen.

Setelah Anda menyelesaikan langkah-langkahnya, pengguna konsumen database dengan akses ke tampilan datashare dapat menanyakan data.

Tambahkan tabel data lake langsung ke datashare

Menambahkan tabel dalam skema eksternal ke datashare mirip dengan menambahkan tampilan. Ini berfungsi dengan baik untuk kasus di mana konsumen ingin menanyakan tabel data lake dalam keadaan semula, atau jika konsumen ingin menggabungkannya ke tabel di gudang data konsumen. Langkah-langkah berikut menunjukkan cara menambahkan tabel data lake ke datashare, menggunakan SQL.

  1. Buat skema eksternal dan tabel eksternal, seperti yang dijelaskan di bagian pertama topik ini.

  2. Temukan tabel yang ada dalam skema eksternal, untuk mengonfirmasi bahwa tabel yang Anda buat tersedia:

    SELECT * FROM svv_external_tables WHERE schemaname = 'external_schema_name';
  3. Tambahkan skema eksternal ke datashare:

    ALTER DATASHARE my_datashare ADD SCHEMA external_schema_name;
  4. Tambahkan tabel eksternal ke datashare. Perhatikan bahwa nama tabel menyertakan awalan skema:

    ALTER DATASHARE my_datashare ADD TABLE external_schema_name.sales;
  5. Konfirmasikan bahwa tabel berhasil ditambahkan ke datashare:

    SELECT * FROM svv_datashare_objects WHERE share_name = 'my_datashare';

    Untuk instruksi lebih rinci, lihat Berbagi akses baca ke data dalam AWS akun.

  6. Pada konsumen, yang merupakan database yang menerima data bersama, administrator mengaitkan datashare untuk membuat tabel bersama tersedia bagi pengguna untuk kueri. Untuk informasi selengkapnya mengenai cara melakukan langkah ini, lihat M engelola data share dari akun lain sebagai konsumen.

Setelah administrator menyelesaikan langkah-langkahnya, pengguna database pada konsumen dapat menulis kueri untuk mengambil data dari tabel bersama dan menggabungkannya dengan tabel lain pada konsumen.

Catatan penggunaan untuk menambahkan objek danau data ke datashare

Ada beberapa item yang perlu diperhatikan saat Anda menggunakan tabel dan tampilan dari data lake di datashare:

  • Login dengan AWS CloudTrail - Akun produsen data dapat menggunakan AWS CloudTrail log untuk mengaudit ketika tabel data lake yang dibagikan melalui datashare diakses:

    • Menggunakan data log untuk mengontrol akses data — CloudTrail Log mencatat detail tentang siapa yang mengakses tabel bersama, termasuk produsen dan konsumen datashare Redshift. Pengidentifikasi tersedia di ExternalId bidang di bawah AssumeRole CloudTrail log. Pemilik data dapat mengonfigurasi batasan tambahan pada akses data dalam kebijakan IAM melalui tindakan. Untuk informasi selengkapnya tentang menentukan akses data melalui kebijakan, lihat Akses ke AWS akun yang dimiliki oleh pihak ketiga.

  • Keamanan dan izin konsumen — Untuk tabel terdaftar Danau Formation, sumber daya Amazon S3 diamankan oleh Lake Formation dan tersedia menggunakan kredenSIAL yang disediakan oleh Lake Formation.

Pertimbangan penagihan untuk menambahkan objek danau data ke datashare

Berikut ini merinci bagaimana biaya dikaitkan untuk menyimpan dan memindai objek danau data di datashare:

  • Ketika konsumen menanyakan objek bersama dari danau data, biaya pemindaian ditagih kepada konsumen.

    • Jika konsumen adalah cluster yang disediakan RA3 atau DC2, Redshift menggunakan Redshift Spectrum untuk memindai data Amazon S3. Oleh karena itu, biaya Spectrum ditagih ke akun konsumen.

    • Ketika konsumen adalah cluster yang disediakan RG, tidak ada biaya terpisah untuk Spectrum karena kueri data lake berjalan pada komputasi cluster yang ditagih dengan harga komputasi jam node RG.

    • Ketika konsumen adalah kelompok kerja Amazon Redshift Serverless, tidak ada biaya terpisah untuk Spectrum.

  • Biaya Amazon S3 untuk penyimpanan dan operasi, seperti bucket listing, ditagih ke akun yang memiliki setiap bucket Amazon S3.

Untuk detail tambahan mengenai penagihan untuk Amazon Redshift Serverless, lihat Pen agihan untuk Amazon Redshift Serverless. Informasi penagihan dan harga lainnya tersedia di harga https://aws.amazon.com/redshift/pricing/ Amazon Redshift.