Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konektor Amazon Athena Redis
Konektor Amazon Athena Redis memungkinkan Amazon Athena untuk berkomunikasi dengan contoh Redis Anda sehingga Anda dapat mengkueri data Redis Anda dengan SQL. Anda dapat menggunakan AWS Glue Data Catalog untuk memetakan pasangan nilai kunci Redis Anda ke dalam tabel virtual.
Tidak seperti penyimpanan data relasional tradisional, Redis tidak memiliki konsep tabel atau kolom. Sebaliknya, Redis menawarkan pola akses kunci-nilai di mana kunci pada dasarnya adalah a string
dan nilainya adalahstring
,, z-set
atau. hmap
Anda dapat menggunakan AWS Glue Data Catalog untuk membuat skema dan mengkonfigurasi tabel virtual. Properti tabel khusus memberi tahu konektor Athena Redis cara memetakan kunci dan nilai Redis Anda ke dalam tabel. Untuk informasi selengkapnya, lihat Menyiapkan database dan tabel di AWS Glue nanti dalam dokumen ini.
Jika Anda mengaktifkan Lake Formation di akun Anda, peran IAM untuk konektor Lambda federasi Athena yang Anda gunakan di harus memiliki akses baca di AWS Serverless Application Repository Lake Formation ke. AWS Glue Data Catalog
Konektor Amazon Athena Redis mendukung Amazon MemoryDB untuk Redis dan Amazon untuk Redis. ElastiCache
Prasyarat
Menyebarkan konektor ke Anda Akun AWS menggunakan konsol Athena atau. AWS Serverless Application Repository Untuk informasi selengkapnya, lihat Menyebarkan konektor sumber data atau MenggunakanAWS Serverless Application Repositoryuntuk menyebarkan konektor sumber data.
Siapkan VPC dan grup keamanan sebelum Anda menggunakan konektor ini. Untuk informasi selengkapnya, lihat Membuat VPC untuk konektor sumber data.
Parameter
Gunakan variabel lingkungan Lambda di bagian ini untuk mengkonfigurasi konektor Redis.
-
spill_bucket - Menentukan bucket Amazon S3 untuk data yang melebihi batas fungsi Lambda.
-
spill_prefix — (Opsional) Default ke subfolder dalam nama yang ditentukan.
spill_bucket
athena-federation-spill
Kami menyarankan Anda mengonfigurasi siklus hidup penyimpanan Amazon S3 di lokasi ini untuk menghapus tumpahan yang lebih lama dari jumlah hari atau jam yang telah ditentukan sebelumnya. -
spill_put_request_headers — (Opsional) Peta header permintaan dan nilai yang disandikan JSON untuk permintaan Amazon S3 yang digunakan untuk menumpahkan (misalnya,).
putObject
{"x-amz-server-side-encryption" : "AES256"}
Untuk kemungkinan header lainnya, lihat PutObjectdi Referensi API Amazon Simple Storage Service. -
kms_key_id — (Opsional) Secara default, data apa pun yang tumpah ke Amazon S3 dienkripsi menggunakan mode enkripsi yang diautentikasi AES-GCM dan kunci yang dihasilkan secara acak. Agar fungsi Lambda Anda menggunakan kunci enkripsi yang lebih kuat yang dihasilkan oleh KMS seperti
a7e63k4b-8loc-40db-a2a1-4d0en2cd8331
, Anda dapat menentukan ID kunci KMS. -
disable_spill_encryption — (Opsional) Ketika diatur ke, menonaktifkan enkripsi tumpahan.
True
DefaultnyaFalse
sehingga data yang tumpah ke S3 dienkripsi menggunakan AES-GCM — baik menggunakan kunci yang dihasilkan secara acak atau KMS untuk menghasilkan kunci. Menonaktifkan enkripsi tumpahan dapat meningkatkan kinerja, terutama jika lokasi tumpahan Anda menggunakan enkripsi sisi server. -
glue_catalog - (Opsional) Gunakan opsi ini untuk menentukan katalog lintas akun. AWS Glue Secara default, konektor mencoba untuk mendapatkan metadata dari akunnya sendiri AWS Glue .
Menyiapkan database dan tabel di AWS Glue
Untuk mengaktifkan AWS Glue tabel untuk digunakan dengan Redis, Anda dapat mengatur properti tabel berikut pada tabel:redis-endpoint
,redis-value-type
, dan salah satu redis-keys-zset
atauredis-key-prefix
.
Selain itu, setiap AWS Glue database yang berisi tabel Redis harus memiliki redis-db-flag
properti URI database. Untuk menyetel properti redis-db-flag
URI, gunakan AWS Glue konsol untuk mengedit database.
Daftar berikut menjelaskan properti tabel.
-
redis-endpoint — (Wajib)
:
Kata sandi
:
port
hostname
dari server Redis yang berisi data untuk tabel ini (misalnya,athena-federation-demo.cache.amazonaws.com:6379
) Atau, Anda dapat menyimpan titik akhir, atau bagian dari titik akhir, AWS Secrets Manager dengan menggunakan $ {Secret_Name
} sebagai nilai properti tabel.
catatan
Untuk menggunakan fitur Kueri Federasi Athena, VPC yang terhubung ke fungsi Lambda Anda harus memiliki akses internet atau
-
redis-keys-zset— (Diperlukan jika tidak
redis-key-prefix
digunakan) Daftar kunci yang dipisahkan koma yang nilainya adalah zset(misalnya,). active-orders,pending-orders
Masing-masing nilai dalam zset diperlakukan sebagai kunci yang merupakan bagian dari tabel. Baikredis-keys-zset
properti atauredis-key-prefix
properti harus ditetapkan. -
redis-key-prefix— (Diperlukan jika
redis-keys-zset
tidak digunakan) Daftar awalan kunci yang dipisahkan koma untuk memindai nilai dalam tabel (misalnya,).accounts-*,acct-
Baikredis-key-prefix
properti atauredis-keys-zset
properti harus ditetapkan. -
redis-value-type— (Wajib) Mendefinisikan bagaimana nilai untuk kunci didefinisikan oleh salah satu
redis-key-prefix
atauredis-keys-zset
dipetakan ke tabel Anda. Sebuah peta literal ke satu kolom. Sebuah zset juga memetakan ke satu kolom, tetapi setiap tombol dapat menyimpan banyak baris. Sebuah hash memungkinkan setiap kunci menjadi baris dengan beberapa kolom (misalnya, hash, literal, atau zset.) -
redis-ssl-flag— (Opsional) Saat
True
, membuat koneksi Redis yang menggunakan SSL/TLS. Nilai default-nyaFalse
. -
redis-cluster-flag— (Opsional) Kapan
True
, aktifkan dukungan untuk instance Redis yang dikelompokkan. Nilai default-nyaFalse
. -
redis-db-number— (Opsional) Hanya berlaku untuk instance mandiri dan tidak berkerumun.) Tetapkan nomor ini (misalnya 1, 2, atau 3) untuk dibaca dari database Redis non-default. Defaultnya adalah database logis Redis 0. Nomor ini tidak merujuk ke database di Athena atau AWS Glue, tetapi ke database logis Redis. Untuk informasi selengkapnya, lihat INDEKS SELECT
dalam dokumentasi Redis.
Jenis data
Konektor Redis mendukung tipe data berikut. Aliran Redis tidak didukung.
Semua nilai Redis diambil sebagai tipe string
data. Kemudian mereka dikonversi ke salah satu tipe data Apache Arrow berikut berdasarkan bagaimana tabel Anda didefinisikan dalam AWS Glue Data Catalog.
AWS Glue tipe data | Tipe data Apache Arrow |
---|---|
int | INT |
string | VARCHAR |
bigint | BIGINT |
double | FLOAT8 |
float | FLOAT4 |
smallint | SMALLINT |
tinyint | TINYINT |
boolean | BIT |
biner | VARBINARY |
Izin yang Diperlukan
Untuk detail lengkap tentang kebijakan IAM yang diperlukan konektor ini, tinjau Policies
bagian file athena-redis.yaml
-
Akses tulis Amazon S3 - Konektor memerlukan akses tulis ke lokasi di Amazon S3 untuk menumpahkan hasil dari kueri besar.
-
Athena GetQueryExecution — Konektor menggunakan izin ini untuk gagal cepat ketika kueri Athena hulu telah dihentikan.
-
AWS Glue Data Catalog— Konektor Redis memerlukan akses baca saja ke AWS Glue Data Catalog untuk mendapatkan informasi skema.
-
CloudWatch Log — Konektor memerlukan akses ke CloudWatch Log untuk menyimpan log.
-
AWS Secrets Manager akses baca - Jika Anda memilih untuk menyimpan detail titik akhir Redis di Secrets Manager, Anda harus memberikan akses konektor ke rahasia tersebut.
-
Akses VPC — Konektor memerlukan kemampuan untuk memasang dan melepaskan antarmuka ke VPC Anda sehingga dapat terhubung dengannya dan berkomunikasi dengan instans Redis Anda.
Kinerja
Konektor Athena Redis mencoba untuk memparalelkan kueri terhadap instance Redis Anda sesuai dengan jenis tabel yang telah Anda tetapkan (misalnya, kunci zset atau kunci awalan).
Konektor Athena Redis melakukan pushdown predikat untuk mengurangi data yang dipindai oleh kueri. Namun, kueri yang berisi predikat terhadap kunci utama gagal dengan batas waktu. LIMIT
klausa mengurangi jumlah data yang dipindai, tetapi jika Anda tidak memberikan predikat, Anda harus mengharapkan SELECT
kueri dengan LIMIT
klausa untuk memindai setidaknya 16 MB data. Konektor Redis tahan terhadap pelambatan karena konkurensi.
Informasi lisensi
Proyek konektor Amazon Athena Redis dilisensikan di bawah Lisensi Apache-2.0.
Sumber daya tambahan
Untuk informasi tambahan tentang konektor ini, kunjungi situs terkait