Tutorial: Memulai dengan Tabel S3 - Amazon Simple Storage Service

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

Tutorial: Memulai dengan Tabel S3

Dalam tutorial ini, Anda membuat keranjang tabel dan mengintegrasikan bucket tabel di Wilayah Anda dengan layanan AWS analitik. Selanjutnya, Anda akan menggunakan AWS CLI untuk membuat namespace dan tabel pertama Anda di ember meja Anda. Kemudian, Anda gunakan AWS Lake Formation untuk memberikan izin di meja Anda, sehingga Anda dapat mulai menanyakan tabel Anda dengan Athena.

Tip

Jika Anda memigrasikan data tabular dari bucket tujuan umum ke bucket tabel, Perpustakaan AWS Solusi memiliki solusi terpandu untuk membantu Anda. Solusi ini mengotomatiskan pemindahan Apache Iceberg dan Apache Hive tabel yang terdaftar AWS Glue Data Catalog dan disimpan dalam ember tujuan umum ke ember meja dengan menggunakan dan AWS Step Functions Amazon EMR dengan. Apache Spark Untuk informasi selengkapnya, lihat Panduan untuk Memigrasi Data Tabular dari Amazon S3 ke Tabel S3 di Pustaka Solusi. AWS

Langkah 1: Buat keranjang meja dan integrasikan dengan layanan AWS analitik

Pada langkah ini, Anda menggunakan konsol Amazon S3 untuk membuat bucket tabel pertama Anda. Untuk cara lain untuk membuat keranjang meja, lihat Membuat ember meja.

catatan

Secara default, konsol Amazon S3 secara otomatis mengintegrasikan bucket tabel Anda dengan SageMaker Amazon Lakehouse, yang AWS memungkinkan layanan analitik menemukan dan mengakses data Tabel S3 Anda secara otomatis. Jika Anda membuat bucket tabel pertama secara terprogram menggunakan AWS Command Line Interface (AWS CLI),, atau REST API AWS SDKs, Anda harus menyelesaikan integrasi layanan AWS analitik secara manual. Untuk informasi selengkapnya, lihat Menggunakan Tabel Amazon S3 dengan layanan analitik AWS.

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

  2. Di bilah navigasi di bagian atas halaman, pilih nama yang saat ini ditampilkan Wilayah AWS. Selanjutnya, pilih Wilayah tempat Anda ingin membuat keranjang tabel.

  3. Di panel navigasi kiri, pilih Bucket tabel.

  4. Pilih Buat ember meja.

  5. Di bawah Konfigurasi umum, masukkan nama untuk bucket tabel Anda.

    Nama keranjang meja harus:

    • Jadilah unik di dalam untuk Anda Akun AWS di Wilayah saat ini.

    • Panjangnya antara 3 hingga 63 karakter.

    • Hanya terdiri dari huruf kecil, angka, dan tanda hubung (). -

    • Dimulai dan diakhiri dengan huruf atau angka.

    Setelah Anda membuat bucket tabel, Anda tidak dapat mengubah namanya. Akun AWS Yang menciptakan ember meja memilikinya. Untuk informasi selengkapnya tentang penamaan bucket tabel, lihatAturan penamaan ember meja.

  6. Di bagian Integrasi dengan layanan AWS analitik, pastikan kotak centang Aktifkan integrasi dipilih.

    Jika Aktifkan integrasi dipilih saat Anda membuat bucket tabel pertama menggunakan konsol, Amazon S3 mencoba mengintegrasikan bucket tabel Anda dengan layanan AWS analitik. Integrasi ini memungkinkan Anda menggunakan layanan AWS analitik untuk mengakses semua tabel di Wilayah saat ini. Untuk informasi selengkapnya, lihat Menggunakan Tabel Amazon S3 dengan layanan analitik AWS.

  7. Pilih Buat bucket.

Langkah 2: Buat namespace tabel dan tabel

Untuk langkah ini, Anda membuat namespace di bucket tabel Anda, dan kemudian membuat tabel baru di bawah namespace itu. Anda dapat membuat namespace tabel dan tabel dengan menggunakan konsol atau. AWS CLI

penting

Saat membuat tabel, pastikan Anda menggunakan semua huruf kecil dalam nama tabel dan definisi tabel Anda. Misalnya, pastikan bahwa nama kolom Anda semua huruf kecil. Jika nama tabel atau definisi tabel berisi huruf kapital, tabel tidak didukung oleh AWS Lake Formation atau definisi tabel AWS Glue Data Catalog. Dalam hal ini, tabel Anda tidak akan terlihat oleh layanan AWS analitik seperti Amazon Athena, meskipun bucket tabel Anda terintegrasi dengan AWS layanan analitik.

Jika definisi tabel berisi huruf kapital, Anda menerima pesan galat berikut saat menjalankan SELECT kueri di Athena: “GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model. ValidationException: Sumber Daya Federasi Tidak Didukung - Nama tabel atau kolom tidak valid.

Prosedur berikut menggunakan konsol Amazon S3 untuk membuat namespace dan tabel dengan Amazon Athena.

Untuk membuat namespace tabel dan tabel
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi kiri, pilih Bucket tabel.

  3. Pada halaman Bucket Table, pilih bucket tabel tempat Anda ingin membuat tabel.

  4. Pada halaman detail bucket tabel, pilih Buat tabel dengan Athena.

  5. Dalam kotak dialog Buat tabel dengan Athena, pilih Buat namespace, lalu masukkan nama di bidang Nama Namespace. Nama namespace harus 1 hingga 255 karakter dan unik di dalam keranjang tabel. Karakter yang valid adalah a—z, 0-9, dan garis bawah (). _ Underscore tidak diizinkan pada awal nama namespace.

  6. Pilih Buat namespace.

  7. Pilih Buat tabel dengan Athena.

  8. Konsol Amazon Athena terbuka dan editor kueri Athena muncul. Editor kueri diisi dengan kueri sampel yang dapat Anda gunakan untuk membuat tabel. Ubah kueri untuk menentukan nama tabel dan kolom yang Anda ingin tabel Anda miliki.

  9. Setelah selesai memodifikasi kueri, pilih Jalankan untuk membuat tabel Anda.

Jika pembuatan tabel Anda berhasil, nama tabel baru Anda muncul di daftar tabel di Athena. Saat Anda menavigasi kembali ke konsol Amazon S3, tabel baru akan muncul di daftar Tabel di halaman detail untuk bucket tabel setelah Anda menyegarkan daftar.

Untuk menggunakan AWS CLI contoh perintah berikut untuk membuat namespace di bucket tabel Anda, lalu buat tabel baru dengan skema di bawah namespace itu, ganti nilainya dengan milik Anda. user input placeholder

Prasyarat
  1. Buat namespace baru di bucket tabel Anda dengan menjalankan perintah berikut:

    aws s3tables create-namespace \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --namespace my_namespace
    1. Konfirmasikan bahwa namespace Anda berhasil dibuat dengan menjalankan perintah berikut:

      aws s3tables list-namespaces \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket
  2. Buat tabel baru dengan skema tabel dengan menjalankan perintah berikut:

    aws s3tables create-table --cli-input-json file://mytabledefinition.json

    Untuk mytabledefinition.json file, gunakan definisi tabel contoh berikut:

    { "tableBucketARN": "arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket", "namespace": "my_namespace", "name": "my_table", "format": "ICEBERG", "metadata": { "iceberg": { "schema": { "fields": [ {"name": "id", "type": "int","required": true}, {"name": "name", "type": "string"}, {"name": "value", "type": "int"} ] } } } }

(Opsional) Langkah 3: Berikan izin Lake Formation di meja Anda

Untuk langkah ini, Anda memberikan izin Lake Formation pada tabel baru Anda ke prinsipal IAM lainnya. Izin ini memungkinkan prinsipal selain Anda mengakses sumber daya bucket tabel dengan menggunakan Athena dan layanan analitik lainnya. AWS Untuk informasi selengkapnya, lihat Memberikan izin pada tabel atau database. Jika Anda satu-satunya pengguna yang akan mengakses tabel Anda, Anda dapat melewati langkah ini.

  1. Buka AWS Lake Formation konsol dihttps://console.aws.amazon.com/lakeformation/, dan masuk sebagai administrator danau data. Untuk informasi selengkapnya tentang cara membuat administrator data lake, lihat Membuat administrator data lake.

  2. Di panel navigasi, pilih Izin data lalu pilih Hibah.

  3. Pada halaman Hibah Izin, di bawah Prinsipal, pilih pengguna dan peran IAM dan pilih pengguna IAM atau peran yang ingin Anda izinkan untuk menjalankan kueri di tabel Anda.

  4. Di bawah LF-tag atau sumber katalog, pilih Sumber daya Katalog Data Bernama.

  5. Lakukan salah satu hal berikut, tergantung pada apakah Anda ingin memberikan akses ke semua tabel di akun Anda atau apakah Anda ingin memberikan akses hanya ke sumber daya dalam keranjang tabel yang Anda buat:

    • Untuk Katalog, pilih katalog tingkat akun yang Anda buat saat mengintegrasikan bucket tabel. Misalnya, 111122223333:s3tablescatalog.

    • Untuk Katalog, pilih subkatalog untuk ember meja Anda. Misalnya, 111122223333:s3tablescatalog/amzn-s3-demo-table-bucket.

  6. (Opsional) Jika Anda memilih subkatalog untuk bucket tabel Anda, lakukan salah satu atau kedua hal berikut:

    • Untuk Database, pilih namespace bucket tabel yang Anda buat.

    • Untuk Tabel, pilih tabel yang Anda buat di keranjang tabel, atau pilih Semua tabel.

  7. Bergantung pada apakah Anda memilih katalog atau subkatalog dan bergantung pada apakah Anda kemudian memilih database atau tabel, Anda dapat mengatur izin di tingkat katalog, database, atau tabel. Untuk informasi selengkapnya tentang izin Lake Formation, lihat Mengelola izin Lake Formation di Panduan AWS Lake Formation Pengembang.

    Lakukan salah satu tindakan berikut:

    • Untuk izin Katalog, pilih Super untuk memberikan prinsipal lainnya semua izin di katalog Anda, atau pilih izin yang lebih halus, seperti Jelaskan.

    • Untuk izin Database, Anda tidak dapat memilih Super untuk memberikan prinsipal lainnya semua izin pada database Anda. Sebagai gantinya, pilih lebih banyak izin berbutir halus, seperti Deskripsikan.

    • Untuk izin Tabel, pilih Super untuk memberikan prinsipal lainnya semua izin di tabel Anda, atau pilih izin yang lebih halus, seperti Pilih atau Jelaskan.

      catatan

      Saat Anda memberikan izin Lake Formation pada sumber daya Katalog Data ke akun eksternal atau langsung ke kepala IAM di akun lain, Lake Formation menggunakan layanan AWS Resource Access Manager (AWS RAM) untuk membagikan sumber daya. Jika akun penerima hibah berada di organisasi yang sama dengan akun pemberi hibah, sumber daya bersama segera tersedia untuk penerima hibah. Jika akun penerima hibah tidak berada di organisasi yang sama, AWS RAM kirimkan undangan ke akun penerima hibah untuk menerima atau menolak hibah sumber daya. Kemudian, untuk membuat sumber daya bersama tersedia, administrator data lake di akun penerima hibah harus menggunakan AWS RAM konsol atau AWS CLI untuk menerima undangan. Untuk informasi selengkapnya tentang berbagi data lintas akun, lihat Berbagi data lintas akun di Lake Formation di Panduan AWS Lake Formation Pengembang.

  8. PilihIzin.

Langkah 4: Kueri data dengan SQL di Athena

Anda dapat menanyakan tabel Anda dengan SQL di Athena. Athena mendukung kueri Data Definition Language (DDL), Data Manipulation Language (DHTML), dan Data Query Language (DQL) untuk Tabel S3.

Anda dapat mengakses kueri Athena baik dari konsol Amazon S3 atau melalui konsol Amazon Athena.

Prosedur berikut menggunakan konsol Amazon S3 untuk mengakses editor kueri Athena sehingga Anda dapat menanyakan tabel dengan Amazon Athena.

Untuk menanyakan tabel
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi kiri, pilih Bucket tabel.

  3. Pada halaman bucket Table, pilih bucket tabel yang berisi tabel yang ingin Anda kueri.

  4. Pada halaman detail keranjang tabel, pilih tombol opsi di sebelah nama tabel yang ingin Anda kueri.

  5. Pilih tabel Query dengan Athena.

  6. Konsol Amazon Athena terbuka dan editor kueri Athena muncul dengan contoh SELECT kueri yang dimuat untuk Anda. Ubah kueri ini sesuai kebutuhan untuk kasus penggunaan Anda.

  7. Untuk menjalankan kueri, pilih Jalankan.

Untuk menanyakan tabel
  1. Buka konsol Athena di https://console.aws.amazon.com/athena/.

  2. Kueri tabel Anda. Berikut ini adalah contoh query yang dapat Anda modifikasi. Pastikan untuk mengganti user input placeholders dengan informasi Anda sendiri.

    SELECT * FROM "s3tablescatalog/amzn-s3-demo-table-bucket"."my_namespace"."my_table" LIMIT 10
  3. Untuk menjalankan kueri, pilih Jalankan.