Blog AWS Indonesia

Memulai dengan AWS Lake Formation

AWS Lake Formation memungkinkan Anda untuk mengatur sebuah danau data (data lake) yang aman. Sebuah data lake adalah repositori terpusat, terkurasi, dan aman menyimpan semua data terstruktur dan tidak terstruktur Anda, dalam skala apapun. Anda dapat menyimpan data Anda sebagaimana adanya, tanpa harus terlebih dahulu menyusun data tersebut. Dan Anda dapat menjalankan berbagai jenis analitik untuk memandu pengambilan keputusan dengan lebih baik, mulai dari dasbor dan visualisasi hingga pemrosesan data besar, analitik real-time, dan machine learning.

Tantangan pada data lake

Tantangan utama administrasi data lake berasal dari penyimpanan data mentah (raw data) tanpa pengawasan konten. Untuk membuat data di lake Anda dapat digunakan, Anda perlu mekanisme didefinisikan untuk katalogisasi dan mengamankan data tersebut.

Lake Formation menyediakan mekanisme untuk menerapkan tata kelola, konsistensi semantik, dan kontrol akses atas data lake Anda. Lake Formation membuat data Anda lebih berguna untuk analisis dan machine learning, memberikan nilai yang lebih baik bagi bisnis Anda.

Lake Formation memungkinkan Anda untuk mengontrol akses data lake dan mengaudit mereka yang mengakses data. AWS Glue Data Catalogue mengintegrasikan data access policies, memastikan kepatuhan (compliance) terlepas dari asal data.

Ulasan

Dalam ulasan ini, saya menunjukkan kepada Anda bagaimana membangun dan menggunakan data lake:

  • Buat administrator untuk data lake.
  • Mendaftarkan Amazon S3 path.
  • Buat basisdata.
  • Berikan permission.
  • Lakukan data crawling dengan AWS Glue untuk membuat metadata dan tabel.
  • Memberikan akses ke data tabel.
  • Kueri data menggunakan Amazon Athena.
  • Tambahkan pengguna baru dengan akses terbatas dan verifikasi hasilnya.

Prasyarat

Anda memerlukan sumber berikut untuk ulasan ini:

  • Akun AWS
  • Pengguna IAM dengan kebijakan AWSLakeFormationDataAdmin. Untuk informasi lebih lanjut, lihat IAM Access Policies.
  • Sebuah S3 bucket datalake-yourname-region, di US-East (Virginia N.)
  • Direktori bernama zipcode dalam S3 bucket baru Anda.

Anda juga harus mengunduh contoh set data. Untuk ulasan ini, saya menggunakan tabel statistik Kota New York. Data tersedia di situs DATA.GOV, di tabel Demographics Statistics by Zip. Unggah berkas ke S3 bucket Anda di direktori /zipcode.

Anda telah menyiapkan S3 bucket dan meletakkan set data di tempatnya. Sekarang, siapkan data lake Anda dengan Lake Formation.

Langkah 1: Buat administrator data lake

Pertama, tentukan sendiri administrator data lake untuk mengizinkan akses ke sumber daya Lake Formation.

Langkah 2: Daftarkan path Amazon S3

Selanjutnya, mendaftarkan Amazon S3 path untuk berisi data Anda di data lake.

Langkah 3: Buat basisdata

Selanjutnya, membuat database di AWS Glue Data Catalog mengandung definisi tabel zipcode.

  • Untuk Database, masukkan zipcode-db.
  • Untuk Lokasi, masukkan bucket/zipcode S3 anda.
  • Untuk New tables in this database, jangan pilih Grant All to Everyone.

Langkah 4: Memberikan izin

Selanjutnya, berikan izin untuk AWS Glue untuk menggunakan database zipcode-db. Untuk IAM role, pilih user dan AWSGlueServiceroleDefault.

Berikan user dan permission dari AWSServiceRoleForLakeFormationDataAccess untuk menggunakan data lake Anda menggunakan lokasi data:

  • Untuk IAM role, pilih user Anda dan AWSServiceRoleForLakeFormationDataAccess.
  • Untuk Storage locations, masukkan s3: //datalake-name-region.

Langkah 5: Crawl data dengan AWS Glue untuk membuat metadata dan tabel

Pada langkah ini, crawler menghubungkan ke data store, berlangsung melalui daftar prioritas classifier untuk menentukan schema untuk data Anda, dan kemudian membuat tabel metadata di AWS Glue Data Catalog Anda.

Buat tabel menggunakan crawler AWS Glue. Gunakan pengaturan konfigurasi berikut:

  • Crawler name: zipcodecrawler.
  • Data store: Pilih input ini.
  • Choose a Data Store: Pilih S3.
  • Specified path: Pilih input ini.
  • Include path: s3: //datalake-name-location/zipcode.
  • Choose another data store: Pilih No.
  • Choose an existing IAM role: Pilih input ini.
  • IAM role: Pilih AWSGlueServiceroleDefault.
  • Run on demand: Pilih input ini.
  • Database: Pilih zipcode-db.

Pilih Run it now? Tunggu sampai crawler berhenti sebelum pindah ke langkah berikutnya.

Langkah 6: Memberikan akses ke data tabel

Mengatur izin AWS Glue Data Catalog Anda untuk memungkinkan orang lain untuk mengelola data. Gunakan konsol Lake Formation untuk memberikan dan mencabut akses ke tabel dalam database.

  • Di panel navigasi, pilih Tables.
  • Pilih Grant.
  • Berikan informasi berikut:
    • Untuk IAM role, pilih user dan AWSGlueServiceroleDefault.
    • Untuk Table permission, pilih Select All

Langkah 7: Query data dengan Athena

Selanjutnya, kueri data di data lake menggunakan Athena.

  • Dalam konsol Athena, pilih Query Editor dan pilih zipcode-db
  • Pilih Tables dan pilih tabel zipcode.
  • Pilih Table Options (tiga titik vertikal di sebelah kanan nama tabel).
  • Pilih Preview Table.

Athena mengeluarkan kueri berikut:

SELECT * FROM “zipcode”.”zipcode” limit 10;

Seperti yang Anda lihat dari tangkapan layar berikut, user datalakeadmin dapat melihat semua data.

Langkah 8: Tambahkan user baru dengan akses terbatas dan memverifikasi hasil

Langkah ini menunjukkan bagaimana Anda, sebagai administrator data lake, dapat mengatur user dengan akses terbatas ke kolom tertentu.

Di konsol IAM, buatlah user IAM dengan hak administratif, disebut user1, dan menambahkan AWSLakeFormationDataAdmin kebijakan. Untuk informasi lebih lanjut, lihat Adding and Removing IAM Identity Permissions.

Di konsol Lake Formation, beriklan izin untuk user1 dan sediakan pengaturan konfigurasi berikut:

  • Database: Pilih zipcode-db.
  • Table: Pilih zipcode.
  • Column: Pilih The Include Column.
  • The include columns: Pilih Jurisdiction name dan Count participants.
  • Table permissions: Select.
  • Grantable permissions: Select

Untuk memverifikasi hasil restricted permissions, ulangi langkah 7 ketika Anda masuk sebagai user1. Seperti yang ditunjukkan oleh tangkapan layar berikut, user1 hanya dapat melihat kolom yang user datalakeadmin berikan mereka izin untuk melihat.

Kesimpulan

Tulisan ini menunjukkan kepada Anda bagaimana membangun data lake yang aman menggunakan Lake Formation. Ini menyediakan mekanisme untuk menerapkan tata kelola, konsistensi semantik, dan kontrol akses, membuat data Anda lebih dapat digunakan untuk analisis dan pembelajaran mesin.

Untuk informasi lebih lanjut, lihat tulisan berikut:


Tulisan ini berasal dari artikel Getting started with AWS Lake Formation yang ditulis oleh Gordon Heinrich dan diterjemahkan oleh Rudi Suryadi.

Petra Barus

Petra Barus

Petra Novandi Barus is Developer Advocate at Amazon Web Services based in Jakarta. He is passionate in helping startups and developers in Indonesia to reinvent on behalf their customers. Prior to AWS, Petra co-founded UrbanIndo.com as CTO. The startup became the largest real-estate portal in Indonesia and then was acquired by 99.co. During that time Petra had been a happy AWS customer for 8 years. Petra is also very active in local tech communities