Menggunakan Machine Learning (ML) dengan Amazon Athena - Amazon Athena

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

Menggunakan Machine Learning (ML) dengan Amazon Athena

Machine Learning (ML) dengan Amazon Athena memungkinkan Anda menggunakan Athena untuk menulis pernyataan SQL yang menjalankan inferensi Machine Learning (ML) menggunakan Amazon. SageMaker Fitur ini menyederhanakan akses ke model ML untuk analisis data, menghilangkan kebutuhan untuk menggunakan metode pemrograman yang kompleks untuk menjalankan inferensi.

Untuk menggunakan ML dengan Athena, Anda mendefinisikan sebuah ML dengan fungsi Athena dengan klausa USING EXTERNAL FUNCTION. Fungsi menunjuk ke titik akhir SageMaker model yang ingin Anda gunakan dan menentukan nama variabel dan tipe data untuk diteruskan ke model. Klausa berikutnya dalam kueri mereferensikan fungsi untuk meneruskan nilai ke model. Model ini menjalankan inferensi berdasarkan nilai-nilai yang diteruskan oleh kueri, kemudian mengembalikan hasil inferensi. Untuk informasi selengkapnya tentang SageMaker dan cara kerja SageMaker titik akhir, lihat Panduan SageMaker Pengembang Amazon.

Untuk contoh yang menggunakan ML dengan Athena dan SageMaker inferensi untuk mendeteksi nilai anomali dalam kumpulan hasil, lihat artikel Blog AWS Big Data Mendeteksi nilai anomali dengan menjalankan fungsi inferensi pembelajaran mesin Amazon Athena.

Pertimbangan dan batasan

  • Wilayah yang Tersedia - Fitur Athena MLadalah fitur di mana mesin Wilayah AWS Athena versi 2 atau yang lebih baru didukung.

  • SageMaker titik akhir model harus menerima dan mengembalikan text/csv — Untuk informasi selengkapnya tentang format data, lihat Format data umum untuk inferensi di Panduan SageMaker Pengembang Amazon.

  • Athena tidak mengirim header CSV - Jika SageMaker titik akhir Andatext/csv, penangan input Anda tidak boleh berasumsi bahwa baris pertama input adalah header CSV. Karena Athena tidak mengirim header CSV, output yang dikembalikan ke Athena akan berisi satu baris lebih sedikit dari yang diharapkan Athena dan menyebabkan kesalahan.

  • SageMaker penskalaan titik akhir — Pastikan titik akhir SageMaker model yang direferensikan cukup ditingkatkan untuk panggilan Athena ke titik akhir. Untuk informasi selengkapnya, lihat Menskalakan SageMaker model secara otomatis di Panduan SageMaker Pengembang Amazon dan CreateEndpointConfigdi Referensi SageMaker API Amazon.

  • Izin IAM — Untuk menjalankan kueri yang menentukan fungsi HTML dengan Athena, prinsipal IAM yang menjalankan kueri harus diizinkan untuk melakukan sagemaker:InvokeEndpoint tindakan untuk titik akhir model yang direferensikan. SageMaker Untuk informasi selengkapnya, lihat Mengizinkan akses untuk ML dengan Athena.

  • ML dengan fungsi Athena tidak dapat digunakan dalam klausa secara langsung GROUP BY

ML dengan sintaks Athena

Klausa USING EXTERNAL FUNCTION menentukan ML dengan fungsi Athena atau beberapa fungsi yang dapat dijadikan referensi oleh pernyataan SELECT berikutnya dalam kueri. Anda menentukan nama fungsi, nama variabel, dan tipe data untuk variabel dan nilai kembali.

Sinopsis

Sintaks berikut menunjukkan klausa USING EXTERNAL FUNCTION yang menentukan sebuah ML dengan fungsi Athena.

USING EXTERNAL FUNCTION ml_function_name (variable1 data_type[, variable2 data_type][,...]) RETURNS data_type SAGEMAKER 'sagemaker_endpoint' SELECT ml_function_name()

Parameter

USING EXTERNAL FUNCTION ml_function_name (variable1 data_type[, variable2 data_type][,...])

ml_function_name mendefinisikan nama fungsi, yang dapat digunakan dalam klausa kueri berikutnya. Setiap variabel data_type menentukan variabel bernama dan tipe data yang sesuai yang diterima SageMaker model sebagai input. Tipe data yang ditentukan harus berupa tipe data Athena yang didukung.

RETURNS data_type

data_type menentukan tipe data SQL yang ml_function_name kembali ke query sebagai output dari model. SageMaker

SAGEMAKER 'sagemaker_endpoint'

sagemaker_endpoint menentukan titik akhir model. SageMaker

SELECT [...] ml_function_name(expression) [...]

Query SELECT yang meneruskan nilai ke variabel fungsi dan SageMaker model untuk mengembalikan hasil. ml_function_name menentukan fungsi didefinisikan sebelumnya dalam query, diikuti oleh ekspresi yang dievaluasi untuk lulus nilai. Nilai-nilai yang diteruskan dan dihasilkan harus cocok dengan tipe data yang sesuai yang ditentukan untuk fungsi dalam klausa USING EXTERNAL FUNCTION.

Contoh

Contoh berikut menunjukkan kueri menggunakan ML dengan Athena.

USING EXTERNAL FUNCTION predict_customer_registration(age INTEGER) RETURNS DOUBLE SAGEMAKER 'xgboost-2019-09-20-04-49-29-303' SELECT predict_customer_registration(age) AS probability_of_enrolling, customer_id FROM "sampledb"."ml_test_dataset" WHERE predict_customer_registration(age) < 0.5;

Contoh penggunaan pelanggan

Video berikut, yang menggunakan versi Pratinjau Machine Learning (ML) dengan Amazon Athena, menampilkan cara-cara yang dapat Anda gunakan dengan SageMaker Athena.

Memprediksi churn pelanggan

Video berikut menunjukkan cara menggabungkan Athena dengan kemampuan pembelajaran mesin Amazon SageMaker untuk memprediksi churn pelanggan.

Mendeteksi botnet

Video berikut menunjukkan bagaimana satu perusahaan menggunakan Amazon Athena dan Amazon SageMaker untuk mendeteksi botnet.