Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Quickstart: Kueri data di Amazon S3
Pengguna dapat menganalisis data yang disimpan di Amazon S3 dengan menjalankan kueri SQL dari JupyterLab notebook menggunakan ekstensi SQL. Ekstensi terintegrasi dengan Athena yang memungkinkan fungsionalitas untuk data di Amazon S3 dengan beberapa langkah tambahan.
Bagian ini memandu Anda melalui langkah-langkah untuk memuat data dari Amazon S3 ke Athena dan kemudian menanyakan data tersebut dari JupyterLab menggunakan ekstensi SQL. Anda akan membuat sumber data Athena dan AWS Glue crawler untuk mengindeks data Amazon S3 Anda, mengonfigurasi izin IAM yang tepat untuk mengaktifkan JupyterLab akses ke Athena, dan JupyterLab terhubung ke Athena untuk menanyakan data. Mengikuti beberapa langkah tersebut, Anda akan dapat menganalisis data Amazon S3 menggunakan ekstensi SQL di notebook. JupyterLab
Prasyarat
-
Masuk ke Konsol AWS Manajemen menggunakan akun pengguna AWS Identity and Access Management (IAM) dengan izin admin. Untuk informasi tentang cara mendaftar AWS akun dan membuat pengguna dengan akses administratif, lihatLengkapi prasyarat Amazon SageMaker AI.
-
Memiliki domain SageMaker AI dan profil pengguna untuk mengakses SageMaker Studio. Untuk informasi tentang cara mengatur lingkungan SageMaker AI, lihatGunakan pengaturan cepat untuk Amazon SageMaker AI.
-
Miliki bucket dan folder Amazon S3 untuk menyimpan hasil kueri Athena, menggunakan AWS Wilayah dan akun yang sama dengan lingkungan AI Anda. SageMaker Untuk informasi tentang cara membuat bucket di Amazon S3, lihat Membuat bucket di dokumentasi Amazon S3. Anda akan mengonfigurasi bucket dan folder ini menjadi lokasi keluaran kueri Anda.
Untuk mengakses dan menanyakan data Anda di Amazon S3:
Langkah 1: Siapkan sumber data Athena dan AWS Glue crawler untuk data Amazon S3 Anda
Ikuti langkah-langkah ini untuk mengindeks data Anda di Amazon S3 dan membuat tabel di Athena.
catatan
Untuk menghindari tabrakan antara nama tabel dari lokasi Amazon S3 yang berbeda, buat sumber data dan crawler terpisah untuk setiap lokasi. Setiap sumber data membuat tabel dinamai folder yang berisi mereka kecuali diawali.
-
Konfigurasikan lokasi hasil kueri
-
Pergi ke konsol Athena:. https://console.aws.amazon.com/athena/
-
Dari menu sebelah kiri, pilih Workgroups.
-
Ikuti tautan untuk
primary
grup kerja dan pilih Edit. -
Di bagian Konfigurasi hasil kueri, masukkan jalur Amazon S3 untuk direktori keluaran Anda, lalu pilih Simpan perubahan.
-
-
Buat sumber data Athena untuk data Amazon S3 Anda
-
Dari menu kiri di konsol Athena, pilih Sumber data dan kemudian Buat Sumber Data.
-
Pilih S3 - Katalog AWS Glue Data dan kemudian Berikutnya.
-
Tinggalkan Katalog AWS Glue Data default di akun ini, pilih Buat perayap di AWS Glue lalu Buat. AWS Glue Ini membuka AWS Glue konsol.
-
-
Gunakan AWS Glue untuk merayapi sumber data Anda
-
Masukkan nama dan deskripsi untuk crawler baru Anda dan kemudian pilih Berikutnya.
-
Di bawah Sumber Data, pilih Tambahkan sumber data.
-
Jika bucket Amazon Amazon S3 yang berisi data Anda berada di AWS akun yang berbeda dari lingkungan SageMaker AI Anda, pilih Di akun lain untuk Lokasi data S3.
-
Masukkan jalur ke kumpulan data Anda di Amazon S3. Sebagai contoh:
s3://dsoaws/nyc-taxi-orig-cleaned-split-parquet-per-year-multiple-files/ride-info/year=2019/
-
Simpan semua nilai default lainnya lalu pilih Tambahkan sumber data Amazon S3. Anda akan melihat sumber data Amazon S3 baru di tabel sumber data.
-
Pilih Berikutnya.
-
-
Konfigurasikan peran IAM untuk crawler untuk mengakses data Anda.
catatan
Setiap peran dicakup ke sumber data yang Anda tentukan. Saat menggunakan kembali peran, edit kebijakan JSON untuk menambahkan sumber daya baru yang ingin Anda berikan akses atau buat peran baru untuk sumber data ini.
-
Pilih Buat peran IAM baru.
-
Masukkan nama untuk peran tersebut, lalu pilih Berikutnya.
-
-
-
Buat atau pilih database untuk tabel Anda
-
Jika Anda tidak memiliki database yang ada di Athena, pilih Tambah database dan kemudian Buat database baru.
-
Kembali ke tab pembuatan crawler sebelumnya, di konfigurasi Output, pilih tombol Refresh. Anda sekarang harus melihat database yang baru Anda buat dalam daftar.
-
Pilih database Anda, tambahkan awalan opsional di awalan nama Tabel dan kemudian pilih Berikutnya.
catatan
Untuk contoh sebelumnya di mana data Anda berada
s3://dsoaws/nyc-taxi-orig-cleaned-split-parquet-per-year-multiple-files/ride-info/year=2019/
, menambahkan awalantaxi-ride-
akan membuat tabel bernamataxi-ride-year_2019
. Menambahkan awalan membantu mencegah tabrakan nama tabel ketika beberapa lokasi data memiliki folder bernama identik.
-
-
Pilih Buat crawler.
-
Jalankan crawler Anda untuk mengindeks data Anda. Tunggu hingga crawler run mencapai
Completed
status, yang mungkin memakan waktu beberapa menit.
Untuk memastikan bahwa tabel baru dibuat, buka menu sebelah kiri AWS Glue dan pilih Database lalu Tabel. Anda sekarang akan melihat tabel baru yang berisi data Anda.
Langkah 2: Berikan Studio izin untuk mengakses Athena
Dalam langkah-langkah berikut, Anda memberikan peran eksekusi izin profil pengguna Anda untuk mengakses Athena.
-
Mengambil ARN dari peran eksekusi yang terkait dengan profil pengguna Anda
-
Buka konsol SageMaker AI di https://console.aws.amazon.com/sagemaker/
dan pilih Domain di menu sebelah kiri. -
Ikuti nama untuk nama domain Anda.
-
Dalam daftar Profil pengguna, ikuti nama untuk profil pengguna Anda.
-
Pada halaman Detail pengguna, salin ARN dari peran eksekusi.
-
-
Perbarui kebijakan peran eksekusi Anda
-
Temukan AWS wilayah dan ID akun Anda di kanan atas konsol SageMaker AI. Gunakan nilai-nilai ini dan nama database Anda untuk memperbarui placeholder dalam kebijakan JSON berikut dalam editor teks.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetS3AndDataSourcesMetadata", "Effect": "Allow", "Action": [ "glue:GetDatabases", "glue:GetSchema", "glue:GetTables", "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation", "glue:GetDatabase", "glue:GetTable", "glue:ListSchemas", "glue:GetPartitions" ], "Resource": [ "arn:aws:s3:::*", "arn:aws:glue:
region
:account-id
:catalog", "arn:aws:glue:region
:account-id
:database/db-name
" ] }, { "Sid": "ExecuteAthenaQueries", "Effect": "Allow", "Action": [ "athena:ListDataCatalogs", "athena:ListDatabases", "athena:ListTableMetadata", "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:RunQuery", "athena:StartSession", "athena:GetQueryResults", "athena:ListWorkGroups", "s3:ListMultipartUploadParts", "s3:ListBucket", "s3:GetBucketLocation", "athena:GetDataCatalog", "s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject", "athena:GetWorkGroup" ], "Resource": [ "arn:aws:s3:::*" ] }, { "Sid": "GetGlueConnectionsAndSecrets", "Effect": "Allow", "Action": [ "glue:GetConnections", "glue:GetConnection" ], "Resource": [ "*" ] } ] } -
Buka konsol IAM: https://console.aws.amazon.com/iam/
dan pilih Peran di menu sebelah kiri. -
Cari peran Anda berdasarkan nama peran.
catatan
Anda dapat mengambil nama peran eksekusi dari Amazon Resource Name (ARN) dengan memisahkan
'/'
ARN dan mengambil elemen terakhir. Misalnya, dalam contoh ARN berikutarn:aws:iam::112233445566:role/SageMakerStudio-SQLExtension-ExecutionRole
, nama peran eksekusi adalah.SageMakerStudio-SQLExtension-ExecutionRole
-
Ikuti tautan untuk peran Anda.
-
Di tab Izin, pilih Tambahkan izin lalu Buat kebijakan sebaris.
-
Pilih
JSON
format di bagian Editor kebijakan. -
Salin kebijakan di atas dan kemudian pilih Berikutnya. Pastikan bahwa Anda telah mengganti semua
account-id
,region-name
, dandb-name
dengan nilai-nilai mereka. -
Masukkan nama untuk kebijakan Anda, lalu pilih Buat kebijakan.
-
Langkah 3: Aktifkan koneksi default Athena di JupyterLab
Pada langkah-langkah berikut, Anda mengaktifkan a default-athena-connection
di JupyterLab aplikasi Anda. Koneksi Athena default memungkinkan menjalankan kueri SQL di Athena langsung JupyterLab dari, tanpa perlu membuat koneksi secara manual.
Untuk mengaktifkan koneksi Athena default
-
Buka konsol SageMaker AI di https://console.aws.amazon.com/sagemaker/
dan pilih Studio di menu sebelah kiri. Menggunakan domain dan profil pengguna Anda, luncurkan Studio. -
Pilih JupyterLab aplikasinya.
-
Jika Anda belum membuat ruang untuk JupyterLab aplikasi Anda, pilih Buat JupyterLab spasi. Masukkan nama untuk spasi, pertahankan ruang sebagai Pribadi, lalu pilih Buat ruang. Jalankan ruang Anda menggunakan versi terbaru dari gambar Distribusi SageMaker AI.
Jika tidak, pilih Jalankan ruang di ruang Anda untuk meluncurkan JupyterLab aplikasi.
-
Aktifkan koneksi default Athena:
-
Dalam JupyterLab aplikasi Anda, navigasikan ke menu Pengaturan di bilah navigasi atas dan buka menu Editor Pengaturan.
-
Pilih Penemuan Data.
-
Centang kotak untuk Aktifkan koneksi Athena default.
-
Dalam JupyterLab aplikasi Anda, pilih ikon ekstensi SQL (
) di panel navigasi kiri untuk membuka ekstensi SQL.
-
Pilih tombol Refresh di bagian bawah panel penemuan data. Anda harus melihat a
default-athena-connection
dalam daftar koneksi.
-
Langkah 4: Kueri data di Amazon S3 dari JupyterLab notebook menggunakan ekstensi SQL
Anda siap untuk menanyakan data Anda menggunakan SQL di JupyterLab notebook Anda.
-
Buka koneksi
default-athena-connection
dan kemudian AWS DataCatalog. -
Arahkan ke database Anda dan pilih ikon tiga titik (
) di sebelah kanannya. Pilih Kueri di buku catatan.
Ini secara otomatis mengisi sel notebook JupyterLab dengan perintah
%%sm_sql
ajaib yang relevan untuk terhubung ke sumber data. Hal ini juga menambahkan contoh pernyataan SQL untuk membantu Anda mulai query segera.catatan
Pastikan untuk memuat ekstensi di sel atas sebelum Anda menjalankan kueri SQL.
Anda dapat menyempurnakan kueri SQL lebih lanjut menggunakan fitur pelengkapan otomatis dan penyorotan ekstensi. Lihat Fitur editor SQL dari ekstensi JupyterLab SQL untuk informasi lebih lanjut tentang menggunakan editor SQL ekstensi SQL.