Konektor Timestream Amazon Athena - Amazon Athena

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

Konektor Timestream Amazon Athena

Konektor Timestream Amazon Athena memungkinkan Amazon Athena berkomunikasi dengan Amazon Timestream, membuat data deret waktu Anda dapat diakses melalui Amazon Athena. Anda dapat secara opsional menggunakan AWS Glue Data Catalog sebagai sumber metadata tambahan.

Amazon Timestream adalah cepat, scalable, sepenuhnya dikelola, tujuan dibangun basis data seri waktu yang membuatnya mudah untuk menyimpan dan menganalisis triliunan titik data time series per hari. Timestream menghemat waktu dan biaya Anda dalam mengelola siklus hidup data seri waktu dengan menyimpan data terbaru dalam memori dan memindahkan data historis ke level penyimpanan yang dioptimalkan biaya berdasarkan kebijakan yang ditetapkan pengguna.

Jika Anda mengaktifkan Lake Formation di akun Anda, peran IAM untuk konektor Lambda federasi Athena yang Anda gunakan harus memiliki akses baca di AWS Serverless Application Repository Lake Formation ke. AWS Glue Data Catalog

Prasyarat

Parameter

Gunakan variabel lingkungan Lambda di bagian ini untuk mengkonfigurasi konektor Timestream.

  • 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 sepertia7e63k4b-8loc-40db-a2a1-4d0en2cd8331, Anda dapat menentukan ID kunci KMS.

  • disable_spill_encryption — (Opsional) Ketika diatur ke, menonaktifkan enkripsi tumpahan. True Defaultnya False 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

Anda dapat secara opsional menggunakan AWS Glue Data Catalog sebagai sumber metadata tambahan. Untuk mengaktifkan AWS Glue tabel untuk digunakan dengan Timestream, Anda harus memiliki AWS Glue database dan tabel dengan nama yang cocok dengan database Timestream dan tabel yang ingin Anda berikan metadata tambahan.

catatan

Untuk kinerja terbaik, gunakan hanya huruf kecil untuk nama database dan nama tabel Anda. Menggunakan casing campuran menyebabkan konektor melakukan pencarian case insensitive yang lebih intensif secara komputasi.

Untuk mengkonfigurasi AWS Glue tabel untuk digunakan dengan Timestream, Anda harus mengatur properti tabelnya. AWS Glue

Untuk menggunakan AWS Glue tabel untuk metadata tambahan
  1. Edit tabel di AWS Glue konsol untuk menambahkan properti tabel berikut:

    • timestream-metadata-flag- Properti ini menunjukkan ke konektor Timestream bahwa konektor dapat menggunakan tabel untuk metadata tambahan. Anda dapat memberikan nilai apa pun timestream-metadata-flag selama timestream-metadata-flag properti hadir dalam daftar properti tabel.

    • _view_template - Bila Anda menggunakan AWS Glue metadata tambahan, Anda dapat menggunakan properti tabel ini dan menentukan SQL Timestream sebagai tampilan. Konektor Athena Timestream menggunakan SQL dari tampilan bersama dengan SQL Anda dari Athena untuk menjalankan kueri Anda. Ini berguna jika Anda ingin menggunakan fitur Timestream SQL yang tidak tersedia di Athena.

  2. Pastikan Anda menggunakan tipe data yang sesuai AWS Glue seperti yang tercantum dalam dokumen ini.

Jenis data

Saat ini, konektor Timestream hanya mendukung sebagian dari tipe data yang tersedia di Timestream, khususnya: nilai varchar skalar,, dan. double timestamp

Untuk menanyakan tipe timeseries data, Anda harus mengonfigurasi tampilan dalam properti AWS Glue tabel yang menggunakan CREATE_TIME_SERIES fungsi Timestream. Anda juga perlu menyediakan skema untuk tampilan yang menggunakan sintaks ARRAY<STRUCT<time:timestamp,measure_value::double:double>> sebagai tipe untuk kolom deret waktu Anda. Pastikan untuk mengganti double dengan jenis skalar yang sesuai untuk tabel Anda.

Gambar berikut menunjukkan contoh properti AWS Glue tabel dikonfigurasi untuk mengatur tampilan selama deret waktu.

Mengkonfigurasi properti tabel AWS Glue untuk mengatur tampilan selama deret waktu.

Izin yang Diperlukan

Untuk detail lengkap tentang kebijakan IAM yang diperlukan konektor ini, tinjau Policies bagian file athena-timestream.yaml. Daftar berikut merangkum izin yang diperlukan.

  • 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 Timestream membutuhkan akses baca saja ke AWS Glue Data Catalog untuk mendapatkan informasi skema.

  • CloudWatch Log — Konektor memerlukan akses ke CloudWatch Log untuk menyimpan log.

  • Akses Timestream — Untuk menjalankan kueri Timestream.

Kinerja

Kami menyarankan Anda menggunakan LIMIT klausa untuk membatasi data yang dikembalikan (bukan data yang dipindai) hingga kurang dari 256 MB untuk memastikan bahwa kueri interaktif berkinerja baik.

Konektor Athena Timestream melakukan pushdown predikat untuk mengurangi data yang dipindai oleh kueri. LIMITklausa 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. Memilih subset kolom secara signifikan mempercepat runtime kueri dan mengurangi data yang dipindai. Konektor Timestream tahan terhadap throttling karena konkurensi.

Kueri passthrough

Konektor Timestream mendukung kueri passthrough. Kueri passthrough menggunakan fungsi tabel untuk mendorong kueri lengkap Anda ke sumber data untuk dieksekusi.

Untuk menggunakan kueri passthrough dengan Timestream, Anda dapat menggunakan sintaks berikut:

SELECT * FROM TABLE( system.query( query => 'query string' ))

Contoh query berikut mendorong ke bawah query ke sumber data di Timestream. Kueri memilih semua kolom dalam customer tabel, membatasi hasilnya menjadi 10.

SELECT * FROM TABLE( system.query( query => 'SELECT * FROM customer LIMIT 10' ))

Informasi lisensi

Proyek konektor Timestream Amazon Athena dilisensikan di bawah Lisensi Apache-2.0.

Sumber daya tambahan

Untuk informasi tambahan tentang konektor ini, kunjungi situs terkait GitHub di.com.