Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kueri tabel Amazon DynamoDB dengan SQL dengan menggunakan Amazon Athena
Gavin Perrie, Ajit Ambike, dan Brad Yates, Amazon Web Services
Ringkasan
Jika data Anda menyertakan sumber selain Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3), Anda dapat menggunakan kueri gabungan untuk mengakses sumber data relasional, non-relasional, objek, atau kustom tersebut. Pola ini menunjukkan cara mengonfigurasi akses kueri federasi melalui Amazon Athena ke Amazon DynamoDB dengan menggunakan konektor sumber data SQL.
Dengan menggunakan pola ini, Anda dapat melakukan hal berikut:
Kueri tabel DynamoDB dengan menggunakan SQL.
Jalankan kueri SQL federasi di Athena dan gabungkan tabel DynamoDB dengan sumber data lain yang didukung.
Prasyarat dan batasan
Prasyarat
Sebuah tabel DynamoDB.
Kelompok kerja Athena diatur untuk menggunakan mesin Athena versi 2. Untuk instruksi, lihat dokumentasi Athena.
Bucket S3 tempat
AthenaDynamoDBConnectorAWS Lambda fungsi dapat menumpahkan data. Bucket S3 dan fungsi Lambda harus berada di Wilayah AWS yang sama.
Jika ini adalah pertama kalinya Anda mengakses Athena, Anda memerlukan bucket S3 tambahan untuk digunakan sebagai lokasi hasil kueri. Untuk instruksi, lihat dokumentasi Athena.
Batasan
Operasi tulis seperti INSERT INTO tidak didukung.
Versi produk
Arsitektur
Arsitektur target
Diagram berikut menunjukkan aliran koneksi setelah pola ditetapkan. Pengguna terhubung ke Amazon Athena untuk memberikan kueri. Athena meneruskan kueri dan target ke fungsi Lambda konektor sumber data DynamoDB, yang mengambil dan mengembalikan data ke Athena. Jika sejumlah besar data dikembalikan, Athena menyimpan hasil sementara di ember tumpahan sebelum mengemas dan mengembalikan kumpulan data lengkap.

Alat
Layanan AWS
Amazon Athena adalah layanan kueri interaktif yang membantu Anda menganalisis data secara langsung di Amazon Simple Storage Service (Amazon S3) dengan menggunakan SQL standar. Pola ini menggunakan Amazon Athena DynamoDB Connector
, alat yang dibangun menggunakan Amazon Athena Query Federation SDK dan diinstal sebagai aplikasi melalui file. AWS Lambda AWS Serverless Application Repository Amazon DynamoDB adalah layanan database NoSQL yang dikelola sepenuhnya yang menyediakan kinerja yang cepat, dapat diprediksi, dan terukur.
AWS Lambdaadalah layanan komputasi yang membantu Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Ini menjalankan kode Anda hanya bila diperlukan dan skala secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan.
Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
Repositori kode
Kode untuk pola ini tersedia di repositori GitHub Athena Query Federation
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Menyebarkan AthenaDynamo DBConnector aplikasi. | Untuk menyebarkan AthenaDynamoDBConnecter, lakukan hal berikut:
| AWS DevOps |
Buat sumber data untuk Athena. | Untuk membuat sumber data, lakukan hal berikut:
| AWS DevOps |
Gunakan Athena untuk menanyakan tabel DynamoDB. | Untuk menanyakan tabel DynamoDB, lakukan hal berikut:
| Pengembang aplikasi |
Pemecahan Masalah
| Isu | Solusi |
|---|---|
Kueri gagal dengan | Pastikan bahwa ember tumpahan Athena dan fungsi Lambda dibuat dalam hal yang sama. Wilayah AWS |
Sumber data yang baru dibuat tidak terlihat di konsol Athena. | Katalog data Athena bersifat regional. Pastikan |
Anda tidak dapat menjalankan kueri terhadap sumber data yang baru dibuat. | Periksa apakah Lokasi Hasil Kueri telah ditetapkan. |