Membuat data lake dari JDBC sumber di Lake Formation - AWS Lake Formation

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

Membuat data lake dari JDBC sumber di Lake Formation

Tutorial ini memandu Anda melalui langkah-langkah yang harus diambil pada AWS Lake Formation konsol untuk membuat dan memuat data lake pertama Anda dari JDBC sumber menggunakan Lake Formation.

Audiens yang dituju

Tabel berikut mencantumkan peran yang digunakan dalam AWS Lake Formation JDBCtutorial ini.

Peran Deskripsi
IAMadministrator Pengguna yang dapat membuat AWS Identity and Access Management (IAM) pengguna dan peran serta bucket Amazon Simple Storage Service (Amazon S3). Memiliki kebijakan yang AdministratorAccess AWS dikelola.
Administrator danau data Pengguna yang dapat mengakses Katalog Data, membuat database, dan memberikan izin Lake Formation kepada pengguna lain. Memiliki IAM izin lebih sedikit daripada IAM administrator, tetapi cukup untuk mengelola data lake.
Analis data Pengguna yang dapat menjalankan kueri terhadap data lake. Hanya memiliki izin yang cukup untuk menjalankan kueri.
Peran alur kerja Peran dengan IAM kebijakan yang diperlukan untuk menjalankan alur kerja.

Untuk informasi tentang prasyarat untuk menyelesaikan tutorial, lihat. JDBCprasyarat tutorial

JDBCprasyarat tutorial

Sebelum Anda memulai AWS Lake Formation JDBCtutorial, pastikan bahwa Anda telah melakukan hal berikut:

  • Selesaikan tugas dalam Memulai dengan Lake Formation.

  • Tentukan penyimpanan data JDBC yang dapat diakses yang ingin Anda gunakan untuk tutorial.

  • Kumpulkan informasi yang diperlukan untuk membuat AWS Glue koneksi tipeJDBC. Objek Katalog Data ini mencakup URL ke penyimpanan data, kredensi login, dan jika penyimpanan data dibuat di Amazon Virtual Private Cloud VPC (Amazon), informasi konfigurasi VPC khusus tambahan. Untuk informasi selengkapnya, lihat Mendefinisikan Koneksi di Katalog AWS Glue Data di Panduan AWS Glue Pengembang.

Tutorial mengasumsikan bahwa Anda sudah familiar dengan AWS Identity and Access Management (IAM). Untuk selengkapnyaIAM, lihat Panduan IAM Pengguna.

Untuk memulai, lanjutkan keLangkah 1: Buat pengguna analis data.

Langkah 1: Buat pengguna analis data

Pada langkah ini, Anda membuat pengguna AWS Identity and Access Management (IAM) untuk menjadi analis data untuk data lake Anda AWS Lake Formation.

Pengguna ini memiliki set izin minimum untuk menanyakan data lake.

  1. Buka konsol IAM di https://console.aws.amazon.com/iam. Masuk sebagai pengguna administrator yang Anda buat Buat pengguna dengan akses administratif atau sebagai pengguna dengan kebijakan AdministratorAccess AWS terkelola.

  2. Buat pengguna bernama datalake_user dengan pengaturan berikut:

    • Aktifkan AWS Management Console akses.

    • Tetapkan kata sandi dan tidak memerlukan pengaturan ulang kata sandi.

    • Lampirkan kebijakan AmazonAthenaFullAccess AWS terkelola.

    • Lampirkan kebijakan inline berikut. Sebutkan kebijakan DatalakeUserBasic.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }

Langkah 2: Buat koneksi di AWS Glue

catatan

Lewati langkah ini jika Anda sudah memiliki AWS Glue koneksi ke sumber JDBC data Anda.

AWS Lake Formation mengakses sumber JDBC data melalui AWS Glue koneksi. Koneksi adalah objek Katalog Data yang berisi semua informasi yang diperlukan untuk terhubung ke sumber data. Anda dapat membuat koneksi menggunakan AWS Glue konsol.

Untuk membuat koneksi
  1. Buka konsol AWS Glue dihttps://console.aws.amazon.com/glue/, dan masuk sebagai pengguna administrator yang Anda buatBuat pengguna dengan akses administratif.

  2. Pada panel navigasi, di Katalog data, pilih Koneksi.

  3. Pada halaman Konektor, pilih Buat konektor kustom.

  4. Pada halaman Properti konektor, masukkan datalake-tutorial sebagai nama koneksi, dan pilih JDBCsebagai jenis koneksi. Lalu pilih Berikutnya.

  5. Lanjutkan melalui wizard koneksi dan simpan koneksi.

    Untuk informasi tentang membuat sambungan, lihat properti AWS Glue JDBC koneksi di Panduan AWS Glue Pengembang.

Langkah 3: Buat bucket Amazon S3 untuk data lake

Pada langkah ini, Anda membuat bucket Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) yang akan menjadi lokasi root danau data Anda.

  1. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/dan masuk sebagai pengguna administrator yang Anda buat. Buat pengguna dengan akses administratif

  2. Pilih Buat ember, dan buka wizard untuk membuat ember bernama<yourName>-datalake-tutorial, di mana <yourName> adalah nama awal dan belakang pertama Anda. Sebagai contoh: jdoe-datalake-tutorial.

    Untuk petunjuk mendetail tentang cara membuat bucket Amazon S3, lihat Bagaimana Cara Membuat Bucket S3? di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Langkah 4: Daftarkan jalur Amazon S3

Pada langkah ini, Anda mendaftarkan jalur Amazon Simple Storage Service (Amazon S3) sebagai lokasi root danau data Anda.

  1. Buka konsol Lake Formation di https://console.aws.amazon.com/lakeformation/. Masuk sebagai administrator danau data.

  2. Di panel navigasi, di bawah Administrasi, pilih Lokasi danau data.

  3. Pilih Daftarkan lokasi, lalu pilih Jelajahi.

  4. Pilih <yourName>-datalake-tutorial bucket yang Anda buat sebelumnya, terima IAM peran defaultAWSServiceRoleForLakeFormationDataAccess, lalu pilih Daftar lokasi.

    Untuk informasi selengkapnya tentang mendaftarkan lokasi, lihatMenambahkan lokasi Amazon S3 ke danau data Anda.

Langkah 5: Berikan izin lokasi data

Prinsipal harus memiliki izin lokasi data pada lokasi danau data untuk membuat tabel Katalog Data atau database yang mengarah ke lokasi tersebut. Anda harus memberikan izin lokasi data ke IAM peran alur kerja sehingga alur kerja dapat menulis ke tujuan konsumsi data.

  1. Di konsol Lake Formation, di panel navigasi, di bawah Izin, pilih Lokasi data.

  2. Pilih Hibah, dan di kotak dialog Hibah izin, lakukan hal berikut:

    1. Untuk IAMpengguna dan peran, pilihLakeFormationWorkflowRole.

    2. Untuk lokasi Penyimpanan, pilih <yourName>-datalake-tutorial bucket Anda.

  3. PilihIzin.

Untuk informasi selengkapnya tentang izin lokasi data, lihatUnderlying data access control.

Langkah 6: Buat database di Katalog Data

Tabel metadata dalam Katalog Data Lake Formation disimpan dalam database.

  1. Di konsol Lake Formation, di panel navigasi, di bawah Katalog data, pilih Database.

  2. Pilih Buat database, dan di bawah rincian Database, masukkan namalakeformation_tutorial.

  3. Biarkan bidang lainnya kosong, dan pilih Buat database.

Langkah 7: Berikan izin data

Anda harus memberikan izin untuk membuat tabel metadata di Katalog Data. Karena alur kerja berjalan dengan peranLakeFormationWorkflowRole, Anda harus memberikan izin ini ke peran tersebut.

  1. Di konsol Lake Formation, di panel navigasi, di bawah Izin, pilih Izin danau data.

  2. Pilih Hibah, dan di kotak dialog Hibah izin data, lakukan hal berikut:

    1. Di bawah Prinsipal, untuk IAMpengguna dan peran, pilih. LakeFormationWorkflowRole

    2. Di bawah LF-tag atau sumber katalog, pilih Sumber daya katalog data bernama.

    3. Untuk Database, pilih database yang Anda buat sebelumnya. lakeformation_tutorial

    4. Di bawah Izin database, pilih Buat tabel, Ubah, dan Jatuhkan, dan hapus Super jika dipilih.

  3. PilihIzin.

Untuk informasi selengkapnya tentang pemberian izin Lake Formation, lihat. Ikhtisar izin Lake Formation

Langkah 8: Gunakan cetak biru untuk membuat alur kerja

AWS Lake Formation Alur kerja menghasilkan AWS Glue pekerjaan, crawler, dan pemicu yang menemukan dan menelan data ke dalam data lake Anda. Anda membuat alur kerja berdasarkan salah satu cetak biru Lake Formation yang telah ditentukan sebelumnya.

  1. Di konsol Lake Formation, di panel navigasi, pilih Blueprints, lalu pilih Use blueprint.

  2. Pada halaman Gunakan cetak biru, di bawah Jenis cetak biru, pilih snapshot Database.

  3. Di bawah Impor sumber, untuk koneksi Database, pilih koneksi yang baru saja Anda buatdatalake-tutorial, atau pilih sambungan yang ada untuk sumber data Anda.

  4. Untuk jalur data Sumber, masukkan jalur untuk menelan data, dalam formulir<database>/<schema>/<table>.

    Anda dapat mengganti wildcard persen (%) untuk skema atau tabel. Untuk database yang mendukung skema, masukkan <database>/<schema>/% untuk mencocokkan semua tabel di <schema> dalam <database>. Oracle Database dan My SQL tidak mendukung skema di jalur; sebagai gantinya, masukkan <database>/%. Untuk Database Oracle, <database> adalah pengenal sistem (SID).

    Misalnya, jika database Oracle memilikinya orclSID, masukkan orcl/% untuk mencocokkan semua tabel yang dapat diakses oleh pengguna yang ditentukan dalam JDCB koneksi.

    penting

    Bidang ini peka terhadap huruf besar dan kecil.

  5. Di bawah target Impor, tentukan parameter ini:

    Basis data target lakeformation_tutorial
    Target lokasi penyimpanan s3://<yourName>-datalake-tutorial
    Format data (Pilih Parket atauCSV)
  6. Untuk frekuensi impor, pilih Jalankan sesuai permintaan.

  7. Di bawah opsi Impor, tentukan parameter ini:

    Nama alur kerja lakeformationjdbctest
    IAMperan LakeFormationWorkflowRole
    Awalan tabel jdbctest
    catatan

    Harus huruf kecil.

  8. Pilih Buat, dan tunggu konsol melaporkan bahwa alur kerja berhasil dibuat.

    Tip

    Apakah Anda mendapatkan pesan kesalahan berikut?

    User: arn:aws:iam::<account-id>:user/<datalake_administrator_user> is not authorized to perform: iam:PassRole on resource:arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole...

    Jika demikian, periksa apakah Anda mengganti <account-id> dalam kebijakan inline untuk pengguna administrator danau data dengan nomor AWS akun yang valid.

Langkah 9: Jalankan alur kerja

Karena Anda menentukan bahwa alur kerjanya run-on-demand, Anda harus memulai alur kerja secara manual. AWS Lake Formation

  1. Di konsol Lake Formation, pada halaman Blueprints, pilih alur kerja. lakeformationjdbctest

  2. Pilih Tindakan, lalu pilih Mulai.

  3. Saat alur kerja berjalan, lihat kemajuannya di kolom Status Last run. Pilih tombol refresh sesekali.

    Statusnya berubah dari RUNNING, ke Menemukan, Mengimpor, ke. COMPLETED

    Saat alur kerja selesai:

    • Katalog Data memiliki tabel metadata baru.

    • Data Anda tertelan ke danau data.

    Jika alur kerja gagal, lakukan hal berikut:

    1. Pilih alur kerja. Pilih Tindakan, lalu pilih Lihat grafik.

      Alur kerja terbuka di AWS Glue konsol.

    2. Pilih alur kerja dan pilih tab History.

    3. Pilih run terbaru dan pilih View run details.

    4. Pilih job atau crawler yang gagal dalam grafik dinamis (runtime), dan tinjau pesan galatnya. Node yang gagal berwarna merah atau kuning.

Langkah 10: Hibah SELECT di atas meja

Anda harus memberikan SELECT izin pada tabel Katalog Data baru AWS Lake Formation agar analis data dapat melakukan kueri data yang ditunjukkan tabel.

catatan

Alur kerja secara otomatis memberikan SELECT izin pada tabel yang dibuatnya kepada pengguna yang menjalankannya. Karena administrator data lake menjalankan alur kerja ini, Anda harus memberikan SELECT kepada analis data.

  1. Di konsol Lake Formation, di panel navigasi, di bawah Izin, pilih Izin danau data.

  2. Pilih Hibah, dan di kotak dialog Hibah izin data, lakukan hal berikut:

    1. Di bawah Prinsipal, untuk IAMpengguna dan peran, pilih. datalake_user

    2. Di bawah LF-tag atau sumber katalog, pilih Sumber daya katalog data bernama.

    3. Untuk Database, pilihlakeformation_tutorial.

      Daftar Tabel terisi.

    4. Untuk Tabel, pilih satu atau beberapa tabel dari sumber data Anda.

    5. Di bawah Izin tabel dan kolom, pilih Pilih.

  3. PilihIzin.

Langkah selanjutnya dilakukan sebagai analis data.

Langkah 11: Kueri data lake menggunakan Amazon Athena

Gunakan Amazon Athena konsol untuk menanyakan data di danau data Anda.

  1. Buka konsol Athena di https://console.aws.amazon.com/athena/, dan masuk sebagai analis data, pengguna. datalake_user

  2. Jika perlu, pilih Mulai untuk melanjutkan ke editor kueri Athena.

  3. Untuk Sumber Data, pilih AwsDataCatalog.

  4. Untuk Database, pilihlakeformation_tutorial.

    Daftar Tabel terisi.

  5. Di menu pop-up di samping salah satu tabel, pilih tabel Pratinjau.

    Kueri berjalan dan menampilkan 10 baris data.

Langkah 12: Kueri data di danau data menggunakan Amazon Redshift Spectrum

Anda dapat mengatur Amazon Redshift Spectrum untuk menanyakan data yang Anda impor ke Amazon Simple Storage Service (Amazon S3) data lake. Pertama, buat peran AWS Identity and Access Management (IAM) yang digunakan untuk meluncurkan cluster Amazon Redshift dan untuk menanyakan data Amazon S3. Kemudian, berikan peran ini Select izin pada tabel yang ingin Anda kueri. Kemudian, berikan izin pengguna untuk menggunakan editor kueri Amazon Redshift. Terakhir, buat cluster Amazon Redshift dan jalankan kueri.

Anda membuat klaster sebagai administrator, dan menanyakan klaster sebagai analis data.

Untuk informasi selengkapnya tentang Amazon Redshift Spectrum, lihat Menggunakan Amazon Redshift Spectrum untuk Menanyakan Data Eksternal di Panduan Pengembang Basis Data Amazon Redshift.

Untuk mengatur izin untuk menjalankan kueri Amazon Redshift
  1. Buka IAM konsol di https://console.aws.amazon.com/iam/. Masuk sebagai pengguna administrator yang Anda buat Buat pengguna dengan akses administratif (nama penggunaAdministrator) atau sebagai pengguna dengan kebijakan AdministratorAccess AWS terkelola.

  2. Di panel navigasi, pilih Kebijakan.

    Jika ini pertama kalinya Anda memilih Kebijakan, akan muncul halaman Selamat Datang di Kebijakan Terkelola. Pilih Memulai.

  3. Pilih Buat kebijakan.

  4. Pilih JSONtab.

  5. Tempel di dokumen JSON kebijakan berikut.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
  6. Setelah selesai, pilih Tinjau untuk meninjau kebijakan. Validator kebijakan melaporkan kesalahan sintaksis.

  7. Pada halaman Kebijakan ulasan, masukkan Nama RedshiftLakeFormationPolicy untuk kebijakan yang Anda buat. Masukkan Deskripsi (opsional). Ulas Ringkasan kebijakan untuk melihat izin yang diberikan oleh kebijakan Anda. Kemudian pilih Buat kebijakan untuk menyimpan pekerjaan Anda.

  8. Di panel navigasi IAM konsol, pilih Peran, lalu pilih Buat peran.

  9. Untuk Pilih entitas tepercaya, pilih AWS layanan.

  10. Pilih layanan Amazon Redshift untuk mengambil peran ini.

  11. Pilih kasus penggunaan Redshift Customizable untuk layanan Anda. Kemudian, pilih Selanjutnya: Izin.

  12. Cari kebijakan izin yang Anda buatRedshiftLakeFormationPolicy, dan pilih kotak centang di samping nama kebijakan dalam daftar.

  13. Pilih Selanjutnya: Tag.

  14. Pilih Berikutnya: Tinjau.

  15. Untuk nama Peran, masukkan namaRedshiftLakeFormationRole.

  16. (Opsional) Untuk Deskripsi peran, masukkan deskripsi.

  17. Tinjau peran lalu pilih Buat peran.

Untuk memberikan Select izin pada tabel yang akan ditanyakan dalam database Lake Formation
  1. Buka konsol Lake Formation di https://console.aws.amazon.com/lakeformation/. Masuk sebagai administrator danau data.

  2. Di panel navigasi, di bawah Izin, pilih Izin data lake, lalu pilih Grant.

  3. Saat diminta, berikan informasi berikut:

    • Untuk IAMpengguna dan peran, pilih IAM peran yang Anda buatRedshiftLakeFormationRole. Saat Anda menjalankan Amazon Redshift Query Editor, ia menggunakan IAM peran ini untuk izin ke data.

    • Untuk Database, pilihlakeformation_tutorial.

      Daftar tabel terisi.

    • Untuk Tabel, pilih tabel dalam sumber data untuk kueri.

    • Pilih izin Pilih tabel.

  4. PilihIzin.

Untuk mengatur Amazon Redshift Spectrum dan menjalankan kueri
  1. Buka konsol Amazon Redshift di. https://console.aws.amazon.com/redshift Masuk sebagai penggunaAdministrator.

  2. Pilih Buat klaster.

  3. Pada halaman Create cluster, masukkan redshift-lakeformation-demo untuk pengenal Cluster.

  4. Untuk tipe Node, pilih dc2.large.

  5. Gulir ke bawah, dan di bawah konfigurasi Database, masukkan atau terima parameter ini:

    • Nama pengguna admin: awsuser

    • Kata sandi pengguna admin: (Choose a password)

  6. Perluas izin Cluster, dan untuk IAMperan yang Tersedia, pilih RedshiftLakeFormationRole. Kemudian pilih Tambahkan IAM peran.

  7. Jika Anda harus menggunakan port yang berbeda dari nilai default 5439, di samping Konfigurasi tambahan, matikan opsi Gunakan default. Perluas bagian untuk konfigurasi Database, dan masukkan nomor port Database baru.

  8. Pilih Buat klaster.

    Halaman Clusters dimuat.

  9. Tunggu hingga status klaster menjadi Tersedia. Pilih ikon penyegaran secara berkala.

  10. Berikan izin analis data untuk menjalankan kueri terhadap cluster. Untuk melakukannya, selesaikan langkah-langkah berikut.

    1. Buka IAM konsol di https://console.aws.amazon.com/iam/, dan masuk sebagai Administrator pengguna.

    2. Di panel navigasi, pilih Pengguna, dan lampirkan kebijakan terkelola berikut ke penggunadatalake_user.

      • AmazonRedshiftQueryEditor

      • AmazonRedshiftReadOnlyAccess

  11. Keluar dari konsol Amazon Redshift dan masuk kembali sebagai pengguna. datalake_user

  12. Di bilah alat vertikal kiri, pilih EDITORikon untuk membuka editor kueri dan sambungkan ke cluster. Jika kotak dialog Connect to database muncul, pilih nama clusterredshift-lakeformation-demo, dan masukkan nama databasedev, nama penggunaawsuser, dan kata sandi yang Anda buat. Kemudian pilih Connect to database.

    catatan

    Jika Anda tidak diminta untuk parameter koneksi dan cluster lain sudah dipilih di editor kueri, pilih Ubah Koneksi untuk membuka kotak dialog Connect to database.

  13. Di kotak teks New Query 1, masukkan dan jalankan pernyataan berikut untuk memetakan database lakeformation_tutorial di Lake Formation ke nama skema Amazon Redshift: redshift_jdbc

    penting

    Ganti <account-id> dengan nomor AWS rekening yang valid, dan <region> dengan nama AWS Region yang valid (misalnya,us-east-1).

    create external schema if not exists redshift_jdbc from DATA CATALOG database 'lakeformation_tutorial' iam_role 'arn:aws:iam::<account-id>:role/RedshiftLakeFormationRole' region '<region>';
  14. Dalam daftar skema di bawah Pilih skema, pilih redshift_jdbc.

    Daftar tabel terisi. Editor kueri hanya menampilkan tabel di mana Anda diberikan izin danau data Lake Formation.

  15. Pada menu pop-up di samping nama tabel, pilih Pratinjau data.

    Amazon Redshift mengembalikan 10 baris pertama.

    Anda sekarang dapat menjalankan kueri terhadap tabel dan kolom yang Anda memiliki izin.

Langkah 13: Berikan atau cabut izin Lake Formation menggunakan Amazon Redshift Spectrum

Amazon Redshift mendukung kemampuan untuk memberikan dan mencabut izin Lake Formation pada database dan tabel menggunakan pernyataan yang dimodifikasi. SQL Pernyataan ini mirip dengan pernyataan Amazon Redshift yang ada. Untuk informasi selengkapnya, lihat GRANTdan REVOKEdi Panduan Pengembang Database Amazon Redshift.