Skema eksternal di Amazon Redshift Spectrum - Amazon Redshift

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

Skema eksternal di Amazon Redshift Spectrum

Topik ini menjelaskan cara membuat dan menggunakan skema eksternal dengan Redshift Spectrum. Skema eksternal adalah kumpulan tabel yang Anda gunakan sebagai referensi untuk mengakses data di luar klaster Amazon Redshift Anda. Tabel ini berisi metadata tentang data eksternal yang dibaca Redshift Spectrum.

Semua tabel eksternal harus dibuat dalam skema eksternal, yang Anda buat menggunakan CREATE EXTERNAL SCHEMA pernyataan.

catatan

Beberapa aplikasi menggunakan istilah database dan skema secara bergantian. Di Amazon Redshift, kami menggunakan istilah skema.

Skema eksternal Amazon Redshift mereferensikan database eksternal dalam katalog data eksternal. Anda dapat membuat database eksternal di Amazon Redshift, di Amazon Athena, di, atau AWS Glue Data Catalogdi metastore Apache Hive, seperti Amazon. EMR Jika Anda membuat database eksternal di Amazon Redshift, database berada di Katalog Data Athena. Untuk membuat database di metastore Hive, Anda perlu membuat database di aplikasi Hive Anda.

Amazon Redshift memerlukan otorisasi untuk mengakses Katalog Data di Athena dan file data di Amazon S3 atas nama Anda. Untuk memberikan otorisasi tersebut, Anda terlebih dahulu membuat peran AWS Identity and Access Management (IAM). Kemudian Anda melampirkan peran ke cluster Anda dan memberikan Amazon Resource Name (ARN) untuk peran dalam pernyataan Amazon RedshiftCREATE EXTERNAL SCHEMA. Untuk informasi selengkapnya tentang otorisasi, lihatIAMkebijakan untuk Amazon Redshift Spectrum.

catatan

Jika saat ini Anda memiliki tabel eksternal Redshift Spectrum di Katalog Data Athena, Anda dapat memigrasikan Katalog Data Athena ke Katalog Data. AWS Glue Untuk menggunakan Katalog AWS Glue Data dengan Redshift Spectrum, Anda mungkin perlu mengubah kebijakan AndaIAM. Untuk informasi selengkapnya, lihat Memutakhirkan ke Katalog AWS Glue Data di Panduan Pengguna Amazon Athena.

Untuk membuat database eksternal pada saat yang sama Anda membuat skema eksternal, tentukan FROM DATA CATALOG dan sertakan CREATE EXTERNAL DATABASE klausa dalam pernyataan AndaCREATE EXTERNAL SCHEMA.

Contoh berikut membuat skema eksternal bernama spectrum_schema menggunakan database spectrum_db eksternal.

create external schema spectrum_schema from data catalog database 'spectrum_db' iam_role 'arn:aws:iam::123456789012:role/MySpectrumRole' create external database if not exists;

Jika Anda mengelola katalog data menggunakan Athena, tentukan nama database Athena dan AWS Wilayah tempat Katalog Data Athena berada.

Contoh berikut membuat skema eksternal menggunakan sampledb database default di Athena Data Catalog.

create external schema athena_schema from data catalog database 'sampledb' iam_role 'arn:aws:iam::123456789012:role/MySpectrumRole' region 'us-east-2';
catatan

regionParameter tersebut mereferensikan AWS Wilayah tempat Katalog Data Athena berada, bukan lokasi file data di Amazon S3.

Jika Anda mengelola katalog data menggunakan metastore Hive, seperti AmazonEMR, grup keamanan Anda harus dikonfigurasi untuk mengizinkan lalu lintas antar kluster.

Dalam CREATE EXTERNAL SCHEMA pernyataan tersebut, tentukan FROM HIVE METASTORE dan sertakan metastore URI dan nomor port. Contoh berikut membuat skema eksternal menggunakan database metastore Hive bernama. hive_db

create external schema hive_schema from hive metastore database 'hive_db' uri '172.10.10.10' port 99 iam_role 'arn:aws:iam::123456789012:role/MySpectrumRole'

Untuk melihat skema eksternal untuk klaster Anda, kueri tabel SCHEMA katalog EXTERNAL PG_ _ atau tampilan SVV _ _EXTERNAL. SCHEMAS Contoh kueri berikut SVV _ EXTERNAL _SCHEMAS, yang bergabung dengan PG_ _ dan PG_EXTERNAL. SCHEMA NAMESPACE

select * from svv_external_schemas

Untuk sintaks perintah lengkap dan contoh, lihatCREATE EXTERNAL SCHEMA.

Bekerja dengan katalog eksternal di Amazon Redshift Spectrum

Metadata untuk database eksternal Amazon Redshift Spectrum dan tabel eksternal disimpan dalam katalog data eksternal. Secara default, metadata Redshift Spectrum disimpan dalam Katalog Data Athena. Anda dapat melihat dan mengelola database dan tabel Redshift Spectrum di konsol Athena Anda.

Anda juga dapat membuat dan mengelola database eksternal dan tabel eksternal menggunakan bahasa definisi data Hive (DDL) menggunakan Athena atau metastore Hive, seperti Amazon. EMR

catatan

Sebaiknya gunakan Amazon Redshift untuk membuat dan mengelola database eksternal dan tabel eksternal di Redshift Spectrum.

Melihat database Redshift Spectrum di Athena dan AWS Glue

Anda dapat membuat database eksternal dengan menyertakan NOT EXISTS klausa CREATE EXTERNAL DATABASE IF sebagai bagian dari CREATE EXTERNAL SCHEMA pernyataan Anda. Dalam kasus seperti itu, metadata database eksternal disimpan dalam Katalog Data Anda. Metadata untuk tabel eksternal yang Anda buat memenuhi syarat oleh skema eksternal juga disimpan dalam Katalog Data Anda.

Athena dan AWS Glue memelihara Katalog Data untuk setiap yang didukung. Wilayah AWS Untuk melihat metadata tabel, masuk ke Athena atau konsol. AWS Glue Di Athena, pilih Sumber data, milik Anda AWS Glue, lalu lihat detail database Anda. Di AWS Glue, pilih Database, database eksternal Anda, lalu lihat detail database Anda.

Jika Anda membuat dan mengelola tabel eksternal Anda menggunakan Athena, daftarkan database menggunakan. CREATE EXTERNAL SCHEMA Misalnya, perintah berikut mendaftarkan database Athena bernama. sampledb

create external schema athena_sample from data catalog database 'sampledb' iam_role 'arn:aws:iam::123456789012:role/mySpectrumRole' region 'us-east-1';

Saat Anda menanyakan tampilan TABLES sistem SVV EXTERNAL _ _, Anda melihat tabel di sampledb database Athena dan juga tabel yang Anda buat di Amazon Redshift.

select * from svv_external_tables;
schemaname    | tablename        | location                                               
--------------+------------------+--------------------------------------------------------
athena_sample | elb_logs         | s3://athena-examples/elb/plaintext           
athena_sample | lineitem_1t_csv  | s3://myspectrum/tpch/1000/lineitem_csv                
athena_sample | lineitem_1t_part | s3://myspectrum/tpch/1000/lineitem_partition          
spectrum      | sales            | s3://redshift-downloads/tickit/spectrum/sales          
spectrum      | sales_part       | s3://redshift-downloads/tickit/spectrum/sales_part

Mendaftarkan database metastore Apache Hive

Jika Anda membuat tabel eksternal di metastore Apache Hive, Anda dapat menggunakan CREATE EXTERNAL SCHEMA untuk mendaftarkan tabel tersebut di Redshift Spectrum.

Dalam CREATE EXTERNAL SCHEMA pernyataan tersebut, tentukan FROM HIVE METASTORE klausa dan berikan metastore URI Hive dan nomor port. IAMPeran harus menyertakan izin untuk mengakses Amazon S3 tetapi tidak memerlukan izin Athena. Contoh berikut mendaftarkan metastore Hive.

create external schema if not exists hive_schema from hive metastore database 'hive_database' uri 'ip-10-0-111-111.us-west-2.compute.internal' port 9083 iam_role 'arn:aws:iam::123456789012:role/mySpectrumRole';

Mengaktifkan klaster Amazon Redshift Anda untuk mengakses klaster Amazon Anda EMR

Jika metastore Hive Anda ada di AmazonEMR, Anda harus memberikan akses klaster Amazon Redshift ke cluster Amazon Anda. EMR Untuk melakukannya, Anda membuat grup EC2 keamanan Amazon. Anda kemudian mengizinkan semua lalu lintas masuk ke grup EC2 keamanan dari grup keamanan klaster Amazon Redshift dan grup keamanan klaster EMR Amazon Anda. Kemudian Anda menambahkan EC2 keamanan ke cluster Amazon Redshift dan cluster Amazon EMR Anda.

Lihat nama grup keamanan klaster Amazon Redshift Anda

Untuk menampilkan grup keamanan, lakukan hal berikut:

  1. Masuk ke AWS Management Console dan buka konsol Amazon Redshift di. https://console.aws.amazon.com/redshiftv2/

  2. Pada menu navigasi, pilih Cluster, lalu pilih cluster dari daftar untuk membuka detailnya.

  3. Pilih Properti dan lihat bagian Pengaturan Jaringan dan keamanan.

  4. Temukan grup keamanan Anda di grup VPC keamanan dan catat.

Lihat nama grup keamanan simpul EMR master Amazon
  1. Buka EMR kluster Amazon Anda. Untuk informasi selengkapnya, lihat Menggunakan konfigurasi keamanan untuk menyiapkan keamanan klaster di Panduan EMR Manajemen Amazon.

  2. Di bawah Keamanan dan akses, catat nama grup keamanan node EMR master Amazon.

    Tangkapan layar yang menyoroti nama grup keamanan simpul EMR master Amazon di EMR konsol Amazon.
Untuk membuat atau memodifikasi grup EC2 keamanan Amazon agar memungkinkan koneksi antara Amazon Redshift dan Amazon EMR
  1. Di EC2 dasbor Amazon, pilih Grup keamanan. Untuk informasi selengkapnya, lihat Aturan grup keamanan di Panduan EC2 Pengguna Amazon

  2. Pilih Buat grup keamanan.

  3. Jika Anda menggunakanVPC, pilih tempat VPC Amazon Redshift dan Amazon Anda EMR berada.

  4. Tambahkan aturan masuk.

    1. Untuk Jenis, pilih Kustom TCP.

    2. Untuk Sumber, pilih Kustom.

    3. Masukkan nama grup keamanan Amazon Redshift Anda.

  5. Tambahkan aturan masuk lainnya.

    1. Untuk Jenis, pilih TCP.

    2. Untuk Port Range, masukkan 9083.

      catatan

      Port default untuk sebuah EMR HMS adalah 9083. Jika Anda HMS menggunakan port yang berbeda, tentukan port tersebut dalam aturan masuk dan dalam definisi skema eksternal.

    3. Untuk Sumber, pilih Kustom.

  6. Masukkan nama dan deskripsi grup keamanan.

  7. Pilih Buat grup keamanan.

Untuk menambahkan grup EC2 keamanan Amazon yang Anda buat di prosedur sebelumnya ke cluster Amazon Redshift Anda
  1. Di Amazon Redshift, pilih cluster Anda.

  2. Pilih Properti.

  3. Lihat pengaturan Jaringan dan keamanan dan pilih Edit.

  4. Di grup VPC keamanan, pilih nama grup keamanan baru.

  5. Pilih Simpan perubahan.

Untuk menambahkan grup EC2 keamanan Amazon ke EMR cluster Amazon Anda
  1. Di AmazonEMR, pilih cluster Anda. Untuk informasi selengkapnya, lihat Menggunakan konfigurasi keamanan untuk menyiapkan keamanan klaster di Panduan EMR Manajemen Amazon.

  2. Di bawah Hardware, pilih link untuk node Master.

  3. Pilih tautan di kolom ID EC2 instance.

    Tangkapan layar yang menyoroti nilai ID EC2 instans Amazon di EMR konsol Amazon.
  4. Untuk Tindakan, pilih Keamanan, Ubah grup keamanan.

  5. Di Grup sercurity terkait, pilih grup keamanan baru, dan pilih Tambahkan grup keamanan.

  6. Pilih Simpan.