Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kueri menggunakan sintaks kueri UDF
USING EXTERNAL FUNCTIONKlausa menentukan UDF atau beberapa UDFs yang dapat direferensikan oleh SELECT pernyataan berikutnya dalam kueri. Anda perlu nama metode untuk UDF dan nama fungsi Lambda yang host UDF. Di tempat nama fungsi Lambda, Anda dapat menggunakan Lambda ARN. Dalam skenario lintas akun, Lambda ARN diperlukan.
Sinopsis
USING EXTERNAL FUNCTION UDF_name(variable1 data_type[, variable2 data_type][,...])
RETURNS data_type
LAMBDA 'lambda_function_name_or_ARN'
[, EXTERNAL FUNCTION UDF_name2(variable1 data_type[, variable2 data_type][,...])
RETURNS data_type
LAMBDA 'lambda_function_name_or_ARN'[,...]]
SELECT [...] UDF_name(expression) [, UDF_name2(expression)] [...]
Parameter
- MENGGUNAKAN FUNGSI EKSTERNAL
UDF_name(variable1data_type[,variable2data_type] [,...]) -
UDF_namemenentukan nama UDF, yang harus sesuai dengan metode Java dalam fungsi Lambda yang direferensikan. Masing-masingvariable data_typemenentukan variabel bernama dan tipe data yang sesuai yang UDF menerima sebagai input.data_typeHarus menjadi salah satu tipe data Athena yang didukung yang tercantum dalam tabel berikut dan peta ke tipe data Java yang sesuai.Tipe data Athena Tipe data Java TIMESTAMP
java.waktu. LocalDateTime (UTC)
DATE
java.waktu. LocalDate (UTC)
TINYINT
java.lang.Byte
SMALLINT
java.lang.Short
REAL
java.lang.Float
DOUBLE
java.lang.Double
DECIMAL (lihat
RETURNSCatatan)java.math. BigDecimal
BIGINT
java.lang.Long
INTEGER
java.lang.Int
VARCHAR
java.lang.String
VARBINARY
byte []
BOOLEAN
java.lang.Boolean
ARRAY
java.util.List
BARIS
java.util.map<String, Object>
- PENGEMBALIAN
data_type -
data_typemenentukan tipe data SQL bahwa UDF kembali sebagai output. Tipe data Athena yang tercantum dalam tabel di atas didukung. Untuk tipeDECIMALdata, gunakan sintaksRETURNS DECIMAL(di manaprecision,scale)precisiondanscaleadalah bilangan bulat. - LAMBDA ''
lambda_function -
lambda_functionmenentukan nama fungsi Lambda yang akan dipanggil saat menjalankan UDF. - PILIH [...]
UDF_name(expression) [...] -
SELECTKueri yang meneruskan nilai ke UDF dan mengembalikan hasilnya.UDF_namemenentukan UDF untuk digunakan, diikuti olehexpressionyang dievaluasi untuk lulus nilai. Nilai-nilai yang dilewatkan dan dikembalikan harus sesuai dengan tipe data yang sesuai ditentukan untuk UDF diUSING EXTERNAL FUNCTIONKlausul.
Contoh
Misalnya kueri berdasarkan kode UDFHandlerAthena