doris udf函数 http方式无法正确拆分文件名

Viewed 4

使用场景:在使用doris udf函数采用http方式的时候 从对象存储中生成的加签的http下载链接存在很长的加签参数 源码中是以最后一个/获取文件名 导致文件名超长报错
CREATE GLOBAL FUNCTION add_one(int) RETURNS int PROPERTIES (
"file"="http://dev-bigdata-tos.xxxx.com/xxxx/udf_jars/doris_udf_all.jar?response-content-disposition=attachment&X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Content-Sha256=UNSIGNED-PAYLOAD&X-Tos-Credential=AKxxxxxxxx%2F20260506%2Fxxxx.com%2Ftos%2Frequest&X-Tos-Date=20260506T054347Z&X-Tos-Expires=172800&X-Tos-SignedHeaders=host&X-Tos-Signature=xxxxx",
"symbol"="org.apache.doris.udf.AddOne",
"always_nullable"="true",
"type"="JAVA_UDF"
);
image.png

错误日志:I20260506 13:55:10.103019 18695 fragment_mgr.cpp:716] query_id: 422a1a3490c44704-958b1a0353f9126c, coord_addr: TNetworkAddress(hostname=10.61.34.80, port=9020), total fragment num on curr
ent host: 1, fe process uuid: 1774605258615, query type: SELECT, report audit fe:TNetworkAddress(hostname=10.61.34.80, port=9020), use wg:TG[id = 1, name = normal, cpu_share = 1024, memor
y_limit = 8.35 GB, enable_memory_overcommit = true, version = 0, cpu_hard_limit = -1, scan_thread_num = 48, max_remote_scan_thread_num = 512, min_remote_scan_thread_num = 8, spill_low_wat
ermark=50, spill_high_watermark=80, is_shutdown=false, query_num=0, read_bytes_per_second=-1, remote_read_bytes_per_second=-1]
W20260506 13:55:10.103349 18695 user_function_cache.cpp:271] fail to open file, file=/data/apache-doris-3.1.4-bin-x64/be/lib/udf/117/1774605349621.4e5d1ba0c2977823a364a5895babfc16.doris_u
df_all.jar?response-content-disposition=attachment&X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Content-Sha256=UNSIGNED-PAYLOAD&X-Tos-Credential=AKxxxxxxx%
2F20260506%2Fxxxxxx.com%2Ftos%2Frequest&X-Tos-Date=20260506T054347Z&X-Tos-Expires=172800&X-Tos-SignedHeaders=host&X-Tos-Signature=xxxxxxxxe2e77d
4957c63288ea16689512a68.tmp
W20260506 13:55:10.103483 18695 status.h:427] meet error status: [INTERNAL_ERROR]fail to open file
问题:目前udf的jar是不直接支持采用对象存储协议获取,采用http方式存储加签解析文件名异常,是否有其他方式能解决此问题?

0 Answers