Mengelola berbagi data dengan AWS CloudFormation - Amazon Redshift

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

Mengelola berbagi data dengan AWS CloudFormation

Anda dapat mengotomatiskan penyiapan berbagi data dengan menggunakan AWS CloudFormation tumpukan, yang menyediakan AWS sumber daya. CloudFormation Tumpukan mengatur berbagi data antara dua cluster Amazon Redshift di akun yang sama. AWS Dengan demikian, Anda dapat memulai berbagi data tanpa menjalankan SQL pernyataan untuk menyediakan sumber daya Anda.

Tumpukan membuat datashare pada cluster yang Anda tentukan. Datashare mencakup tabel dan sampel data hanya-baca. Data ini dapat dibaca oleh cluster Amazon Redshift Anda yang lain.

Jika Anda ingin mulai berbagi data di AWS akun dengan menjalankan SQL pernyataan untuk menyiapkan datashare dan memberikan izin, tanpa menggunakan CloudFormation, lihat. Berbagi akses baca ke data dalam Akun AWS

Sebelum menjalankan CloudFormation tumpukan berbagi data, Anda harus masuk dengan pengguna yang memiliki izin untuk membuat IAM peran dan fungsi Lambda. Anda juga memerlukan dua cluster Amazon Redshift di akun yang sama. Anda menggunakan satu, produsen, untuk berbagi data sampel, dan yang lainnya, konsumen, untuk membacanya. Persyaratan utama untuk cluster ini adalah bahwa masing-masing menggunakan RA3 node. Untuk keperluan tambahan, lihat Pertimbangan saat menggunakan berbagi data di Amazon Redshift.

Untuk informasi selengkapnya tentang memulai penyiapan klaster Amazon Redshift, lihat Memulai gudang data yang disediakan Amazon Redshift. Untuk informasi selengkapnya tentang mengotomatisasi penyiapan dengan CloudFormation, lihat Apa itu? AWS CloudFormation

penting

Sebelum meluncurkan CloudFormation tumpukan Anda, pastikan Anda memiliki dua cluster Amazon Redshift di akun yang sama dan cluster menggunakan node. RA3 Pastikan setiap cluster memiliki database dan superuser. Untuk informasi selengkapnya, silakan lihat CREATE DATABASE dan superuser.

Untuk meluncurkan CloudFormation tumpukan Anda untuk berbagi data Amazon Redshift:
  1. Klik Launch CFN stack, yang akan membawa Anda ke CloudFormation layanan di file AWS Management Console.

    Jika Anda diminta, masuk.

    Proses pembuatan tumpukan dimulai, mereferensikan file CloudFormation template, yang disimpan di Amazon S3. CloudFormation Template adalah file teks dalam JSON format yang mendeklarasikan AWS sumber daya yang membentuk tumpukan. Untuk informasi selengkapnya tentang CloudFormation templat, lihat Mempelajari dasar-dasar templat.

  2. Pilih Berikutnya untuk memasukkan detail tumpukan.

  3. Di bawah Parameter, untuk setiap cluster, masukkan yang berikut ini:

    • Nama cluster Amazon Redshift Anda, misalnya ra3-consumer-cluster

    • Nama database Anda, misalnya dev

    • Nama pengguna database Anda, misalnya consumeruser

    Sebaiknya gunakan cluster uji, karena tumpukan membuat beberapa objek database.

    Pilih Berikutnya.

  4. Opsi tumpukan muncul.

    Pilih Berikutnya untuk menerima pengaturan default.

  5. Di bawah Kemampuan, pilih Saya mengakui yang AWS CloudFormation mungkin membuat IAM sumber daya.

  6. Pilih Buat tumpukan.

CloudFormation membutuhkan waktu sekitar 10 menit untuk membangun tumpukan Amazon Redshift menggunakan template, membuat datashare yang disebut. myproducer_share Tumpukan membuat datashare dalam database yang ditentukan dalam detail tumpukan. Hanya objek dari database yang dapat dibagikan.

Jika terjadi kesalahan saat tumpukan dibuat, lakukan hal berikut:

  • Pastikan Anda memasukkan nama cluster, nama database, dan nama pengguna database yang benar untuk setiap cluster Redshift.

  • Pastikan klaster Anda memiliki RA3 node.

  • Pastikan Anda masuk dengan pengguna yang memiliki izin untuk membuat IAM peran dan fungsi Lambda. Untuk informasi selengkapnya tentang membuat IAM peran, lihat Membuat IAM peran. Untuk informasi selengkapnya tentang kebijakan pembuatan fungsi Λ, lihat Pengembangan fungsi.

Menanyakan datashare yang Anda buat

Untuk menggunakan prosedur berikut, pastikan Anda memiliki izin yang diperlukan untuk menjalankan kueri pada setiap cluster yang dijelaskan.

Untuk menanyakan datashare Anda:
  1. Sambungkan ke cluster produser pada database yang dimasukkan saat CloudFormation tumpukan Anda dibuat, menggunakan alat klien seperti editor kueri Amazon Redshift v2.

  2. Kueri untuk datashares.

    SHOW DATASHARES; +------------------+-------------+-----------------+-------------------+------------+------------+---------------------+-----------+------------------+--------------------------------------+ | share_name | share_owner | source_database | consumer_database | share_type | createdate | is_publicaccessible | share_acl | producer_account | producer_namespace | +------------------+-------------+-----------------+-------------------+------------+------------+---------------------+-----------+------------------+--------------------------------------+ | myproducer_share | 100 | sample_data_dev | myconsumer_db | INBOUND | NULL | true | NULL | producer-acct | your-producer-namespace | +------------------+-------------+-----------------+-------------------+------------+------------+---------------------+-----------+------------------+--------------------------------------+

    Perintah sebelumnya mengembalikan nama datashare yang dibuat oleh tumpukan, yang disebut. myproducer_share Ini juga mengembalikan nama database yang terkait dengan datashare,. myconsumer_db

    Salin pengenal namespace produser untuk digunakan di langkah selanjutnya.

  3. Jelaskan objek dalam datashare.

    DESC DATASHARE myproducer_share; +------------------+--------------------------------------+------------+------------------+-------------+-------------------------------------+-------------+ | producer_account | producer_namespace | share_type | share_name | object_type | object_name | include_new | +------------------+--------------------------------------+------------+------------------+-------------+-------------------------------------+-------------+ | producer-acct | your-producer-namespace | OUTBOUND | myproducer_share | schema | myproducer_schema | true | | producer-acct | your-producer-namespace | OUTBOUND | myproducer_share | table | myproducer_schema.tickit_sales | NULL | | producer-acct | your-producer-namespace | OUTBOUND | myproducer_share | view | myproducer_schema.ticket_sales_view | NULL | +------------------+--------------------------------------+------------+------------------+-------------+-------------------------------------+-------------+

    Ketika Anda mendeskripsikan datashare, ia mengembalikan properti untuk tabel dan tampilan. Tumpukan menambahkan tabel dan tampilan dengan data sampel ke database produsen, misalnya tickit_sales dantickit_sales_view. Untuk informasi selengkapnya tentang database TICKIT sampel, lihatDatabase sampel.

    Anda tidak perlu mendelegasikan izin pada datashare untuk menjalankan kueri. Tumpukan memberikan izin yang diperlukan.

  4. Connect ke cluster konsumen menggunakan alat klien Anda. Jelaskan datashare, tentukan namespace produser.

    DESC DATASHARE myproducer_share OF NAMESPACE '<namespace id>'; --specify the unique identifier for the producer namespace +------------------+--------------------------------------+------------+------------------+-------------+-------------------------------------+-------------+ | producer_account | producer_namespace | share_type | share_name | object_type | object_name | include_new | +------------------+--------------------------------------+------------+------------------+-------------+-------------------------------------+-------------+ | producer-acct | your-producer-namespace | INBOUND | myproducer_share | schema | myproducer_schema | NULL | | producer-acct | your-producer-namespace | INBOUND | myproducer_share | table | myproducer_schema.tickit_sales | NULL | | producer-acct | your-producer-namespace | INBOUND | myproducer_share | view | myproducer_schema.ticket_sales_view | NULL | +------------------+--------------------------------------+------------+------------------+-------------+-------------------------------------+-------------+
  5. Anda dapat menanyakan tabel di datashare dengan menentukan database dan skema datashare. Untuk informasi selengkapnya, lihat Contoh kueri lintas basis data. Kueri berikut mengembalikan data penjualan dan penjual dari SALES tabel dalam database TICKIT sampel. Untuk informasi selengkapnya, lihat Database sampel.

    SELECT * FROM myconsumer_db.myproducer_schema.tickit_sales_view; +---------+--------+----------+---------+---------+--------+---------+-----------+------------+---------------------+ | salesid | listid | sellerid | buyerid | eventid | dateid | qtysold | pricepaid | commission | saletime | +---------+--------+----------+---------+---------+--------+---------+-----------+------------+---------------------+ | 1 | 1 | 36861 | 21191 | 7872 | 1875 | 4 | 728 | 109.2 | 2008-02-18 02:36:48 | | 2 | 4 | 8117 | 11498 | 4337 | 1983 | 2 | 76 | 11.4 | 2008-06-06 05:00:16 | | 3 | 5 | 1616 | 17433 | 8647 | 1983 | 2 | 350 | 52.5 | 2008-06-06 08:26:17 | | 4 | 5 | 1616 | 19715 | 8647 | 1986 | 1 | 175 | 26.25 | 2008-06-09 08:38:52 | | 5 | 6 | 47402 | 14115 | 8240 | 2069 | 2 | 154 | 23.1 | 2008-08-31 09:17:02 | +---------+--------+----------+---------+---------+--------+---------+-----------+------------+---------------------+
    catatan

    Kueri berjalan terhadap tampilan dalam skema bersama. Anda tidak dapat terhubung langsung ke database yang dibuat dari datashares. Mereka hanya-baca.

  6. Untuk menjalankan kueri yang menyertakan agregasi, gunakan contoh berikut.

    SELECT * FROM myconsumer_db.myproducer_schema.tickit_sales ORDER BY 1,2 LIMIT 5; +---------+--------+----------+---------+---------+--------+---------+-----------+------------+---------------------+ | salesid | listid | sellerid | buyerid | eventid | dateid | qtysold | pricepaid | commission | saletime | +---------+--------+----------+---------+---------+--------+---------+-----------+------------+---------------------+ | 1 | 1 | 36861 | 21191 | 7872 | 1875 | 4 | 728 | 109.2 | 2008-02-18 02:36:48 | | 2 | 4 | 8117 | 11498 | 4337 | 1983 | 2 | 76 | 11.4 | 2008-06-06 05:00:16 | | 3 | 5 | 1616 | 17433 | 8647 | 1983 | 2 | 350 | 52.5 | 2008-06-06 08:26:17 | | 4 | 5 | 1616 | 19715 | 8647 | 1986 | 1 | 175 | 26.25 | 2008-06-09 08:38:52 | | 5 | 6 | 47402 | 14115 | 8240 | 2069 | 2 | 154 | 23.1 | 2008-08-31 09:17:02 | +---------+--------+----------+---------+---------+--------+---------+-----------+------------+---------------------+

    Kueri mengembalikan data penjualan dan penjual dari TICKIT data sampel.

    Untuk lebih banyak contoh kueri datashare, lihat. Berbagi akses baca ke data dalam Akun AWS