Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kueri menggunakan sintaks UDF kueri
USING EXTERNAL FUNCTION
Klausa menentukan satu UDF atau beberapa UDFs yang dapat direferensikan oleh SELECT
pernyataan berikutnya dalam kueri. Anda memerlukan nama metode untuk UDF dan nama fungsi Lambda yang meng-host. UDF Sebagai pengganti nama fungsi Lambda, Anda dapat menggunakan Lambda. ARN Dalam skenario lintas akun, ARN Lambda 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
- USING EXTERNAL FUNCTION
UDF_name
(variable1
data_type
[,variable2
data_type
][,...]) -
UDF_name
menentukan namaUDF, yang harus sesuai dengan metode Java dalam fungsi Lambda direferensikan. Masing-masingvariable data_type
menentukan variabel bernama dan tipe data yang sesuai yang UDF menerima sebagai input.data_type
Harus 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
RETURNS
catatan)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
ROW
java.util.map<String, Object>
- RETURNS
data_type
-
data_type
menentukan tipe SQL data yang UDF dikembalikan sebagai output. Tipe data Athena yang tercantum dalam tabel di atas didukung. Untuk tipeDECIMAL
data, gunakan sintaksRETURNS DECIMAL(
di manaprecision
,scale
)precision
danscale
adalah bilangan bulat. - LAMBDA '
lambda_function
' -
lambda_function
menentukan nama fungsi Lambda yang akan dipanggil saat menjalankan. UDF - SELECT [...]
UDF_name
(expression
) [...] -
SELECT
Query yang meneruskan nilai ke UDF dan mengembalikan hasilnya.UDF_name
menentukan UDF untuk menggunakan, diikuti olehexpression
yang dievaluasi untuk lulus nilai. Nilai yang diteruskan dan dikembalikan harus cocok dengan tipe data yang sesuai yang ditentukan untuk UDF dalamUSING EXTERNAL FUNCTION
klausa.
Contoh
Misalnya kueri berdasarkan kode A thenaUDFHandler .java