@@ -7,14 +7,12 @@ import EEFeature from '@site/src/components/EEFeature';
77
88<EEFeature featureName =' Python UDF ' />
99
10- ็จๆทๅฎไนๅฝๆฐ๏ผUDFs๏ผ้่ฟๆฏๆๅฟๅlambda่กจ่พพๅผๅ้ขๅฎไนๅค็็จๅบ๏ผPythonใJavaScriptๅWebAssembly ๏ผๆฅๅฎไนUDF๏ผๆไพไบๅขๅผบ็็ตๆดปๆงใ่ฟไบๅ่ฝๅ
่ฎธ็จๆทๅๅปบๅฎๅถ็ๆไฝ๏ผไปฅๆปก่ถณๅ
ถ็นๅฎ็ๆฐๆฎๅค็้ๆฑใDatabend UDFๅไธบไปฅไธๅ ็ฑป๏ผ
10+ ็จๆทๅฎไนๅฝๆฐ๏ผUDFs๏ผ้่ฟๆฏๆๅฟๅlambda่กจ่พพๅผๅ้ขๅฎไนๅค็็จๅบ๏ผPythonใJavaScript & WebAssembly ๏ผๆฅๅฎไนUDF๏ผๆไพไบๅขๅผบ็็ตๆดปๆงใ่ฟไบๅ่ฝๅ
่ฎธ็จๆทๅๅปบๅฎๅถ็ๆไฝ๏ผไปฅๆปก่ถณๅ
ถ็นๅฎ็ๆฐๆฎๅค็้ๆฑใDatabend UDFๅไธบไปฅไธๅ ็ฑป๏ผ
1111
12- - [ Lambda UDF ] ( #lambda-udf )
13- - [ ๅตๅ
ฅๅผUDF ] ( #embedded-udfs )
12+ - [ Lambda UDFs ] ( #lambda-udfs )
13+ - [ ๅตๅ
ฅๅผUDFs ] ( #embedded-udfs )
1414
15- Databendๆไพไบๅค็งๅฝไปคๆฅ็ฎก็UDFใ่ฏฆๆ
่ฏทๅ้
[ ็จๆทๅฎไนๅฝๆฐ] ( /sql/sql-commands/ddl/udf/ ) ใ
16-
17- ## Lambda UDF
15+ ## Lambda UDFs
1816
1917Lambda UDFๅ
่ฎธ็จๆทไฝฟ็จๅฟๅๅฝๆฐ๏ผlambda่กจ่พพๅผ๏ผ็ดๆฅๅจๅ
ถๆฅ่ฏขไธญๅฎไน่ชๅฎไนๆไฝใ่ฟไบlambda่กจ่พพๅผ้ๅธธ็ฎๆด๏ผๅฏ็จไบๆง่ก็นๅฎ็ๆฐๆฎ่ฝฌๆขๆ่ฎก็ฎ๏ผ่ฟไบๆไฝๅฏ่ฝๆ ๆณไป
ไฝฟ็จๅ
็ฝฎๅฝๆฐๅฎ็ฐใ
2018
@@ -24,8 +22,17 @@ Lambda UDFๅ
่ฎธ็จๆทไฝฟ็จๅฟๅๅฝๆฐ๏ผlambda่กจ่พพๅผ๏ผ็ดๆฅๅจๅ
ถๆฅ่ฏข
2422
2523``` sql
2624-- ๅฎไนUDF
27- CREATE FUNCTION get_v1 AS (json) - > json[" v1" ];
28- CREATE FUNCTION get_v2 AS (json) - > json[" v2" ];
25+ CREATE FUNCTION get_v1 AS (input_json) - > input_json[' v1' ];
26+ CREATE FUNCTION get_v2 AS (input_json) - > input_json[' v2' ];
27+
28+ SHOW USER FUNCTIONS;
29+
30+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
31+ โ name โ is_aggregate โ description โ arguments โ language โ created_on โ
32+ โโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
33+ โ get_v1 โ NULL โ โ {" parameters" :[" input_json" ]} โ SQL โ 2024 - 11 - 18 23 :20 :28 .432842 โ
34+ โ get_v2 โ NULL โ โ {" parameters" :[" input_json" ]} โ SQL โ 2024 - 11 - 18 23 :21 :46 .838744 โ
35+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
2936
3037-- ๅๅปบ่กจ
3138CREATE TABLE json_table (time TIMESTAMP , data JSON);
@@ -42,7 +49,7 @@ SELECT get_v1(data), get_v2(data) FROM json_table;
4249+ -- ----------+------------+
4350```
4451
45- ## ๅตๅ
ฅๅผUDF
52+ ## ๅตๅ
ฅๅผUDFs
4653
4754ๅตๅ
ฅๅผUDFๅ
่ฎธๆจๅจSQLไธญๅตๅ
ฅไปฅไธ็ผ็จ่ฏญ่จ็ผๅ็ไปฃ็ ๏ผ
4855
@@ -59,7 +66,7 @@ SELECT get_v1(data), get_v2(data) FROM json_table;
5966Python UDFๅ
่ฎธๆจ้่ฟDatabend็ๅ
็ฝฎๅค็็จๅบไปSQLๆฅ่ฏขไธญ่ฐ็จPythonไปฃ็ ๏ผไป่ๅจSQLๆฅ่ฏขไธญๆ ็ผ้ๆPython้ป่พใ
6067
6168::: note
62- Python UDFๅฟ
้กปไป
ไฝฟ็จPython็ๆ ๅๅบ๏ผไธๅ
่ฎธ็ฌฌไธๆนๅฏผๅ
ฅ ใ
69+ Python UDFๅฟ
้กปไป
ไฝฟ็จPython็ๆ ๅๅบ๏ผไธๅ
่ฎธไฝฟ็จ็ฌฌไธๆนๅฏผๅ
ฅ ใ
6370:::
6471
6572#### ๆฐๆฎ็ฑปๅๆ ๅฐ
@@ -238,10 +245,10 @@ WebAssembly UDFๅ
่ฎธ็จๆทไฝฟ็จ็ผ่ฏไธบWebAssembly็่ฏญ่จๅฎไน่ชๅฎไน้ป
238245
239246ๅจๆญค็คบไพไธญ๏ผๅๅปบไบๅไธบโwasm_gcdโ็ๅฝๆฐ๏ผ็จไบ่ฎก็ฎไธคไธชๆดๆฐ็ๆๅคงๅ
ฌ็บฆๆฐ๏ผGCD๏ผใ่ฏฅๅฝๆฐไฝฟ็จWebAssemblyๅฎไน๏ผๅ
ถๅฎ็ฐไฝไบ'test10_udf_wasm_gcd.wasm.zst'ไบ่ฟๅถๆไปถไธญใ
240247
241- ๅจๆง่กไนๅ๏ผๅฝๆฐๅฎ็ฐ็ปๅไบไธ็ณปๅๆญฅ้ชคใ้ฆๅ
๏ผๅฎ่ขซ็ผ่ฏๆไบ่ฟๅถๆไปถ๏ผ็ถๅ่ขซๅ็ผฉๆ 'test10_udf_wasm_gcd.wasm.zst'ใๆๅ๏ผๅ็ผฉๆไปถ่ขซๆๅไธไผ ๅฐStageใ
248+ ๅจๆง่กไนๅ๏ผๅฝๆฐๅฎ็ฐ็ปๅไบไธ็ณปๅๆญฅ้ชคใ้ฆๅ
๏ผๅฎ่ขซ็ผ่ฏๆไบ่ฟๅถๆไปถ๏ผ็ถๅๅ็ผฉๆ 'test10_udf_wasm_gcd.wasm.zst'ใๆๅ๏ผๅ็ผฉๆไปถ่ขซๆๅไธไผ ๅฐStageใ
242249
243250::: note
244- ่ฏฅๅฝๆฐๅฏไปฅ็จRustๅฎ็ฐ๏ผๅฆ็คบไพๆ็คบ๏ผ https ://github.com/risingwavelabs/arrow-udf/blob/main/arrow-udf-wasm/examples/wasm.rs
251+ ่ฏฅๅฝๆฐๅฏไปฅ็จRustๅฎ็ฐ๏ผๅฆ็คบไพๆ็คบ๏ผ็ฝๅไธบ https ://github.com/risingwavelabs/arrow-udf/blob/main/arrow-udf-wasm/examples/wasm.rs
245252:::
246253
247254``` sql
@@ -257,10 +264,6 @@ WHERE
257264ORDER BY 1 ;
258265```
259266
260- ## ๆพ็คบๅทฒๅๅปบ็UDF
267+ ## ็ฎก็UDF
261268
262- ๅฆๆๆจๆณๆพ็คบๅทฒๅๅปบ็UDFใ
263-
264- ``` sql
265- show user functions;
266- ```
269+ Databendๆไพไบๅค็งๅฝไปคๆฅ็ฎก็UDFใๆๅ
ณ่ฏฆ็ปไฟกๆฏ๏ผ่ฏทๅ้
[ ็จๆทๅฎไนๅฝๆฐ] ( /sql/sql-commands/ddl/udf/ ) ใ
0 commit comments