Routine Load分隔符问题

用 Routine Load 导数据,分隔符总是有问题。
我列数据之间用“\x01”分割。
这是我的一条数据样本:

285958000\x010\x01IMG20211209131100.jpg\x01jpg\x01l\x011\x01f8d52a5be3a36f7a747ce1c90d2f9b34\x015\x01e53cc4a1b3fb46fa8aea55d5bf3bc15d\x013590751\x010\x01\x010\x0163\x01261\x011639043164\x012021-12-09T09:47:25Z\x01C25817F04988E693DA85FE3670FB8E396F0F1ABFED976A0B\x0130324\x011\x01Send header fail -2\x010\x01US\x0110008\x01/storage/emulated/0/DCIM/Camera/IMG20211209131100.jpg\x0

我设置 COLUMNS TERMINATED BY “\x01”,


错误信息

我设置 COLUMNS TERMINATED BY “\x01”,


错误信息

辛苦发下脱敏后的建表语句

CREATE TABLE IF NOT EXISTS file_upload_log (
id INT(10) NOT NULL COMMENT “”,
account_id INT(10) NOT NULL COMMENT “”,
key STRING NULL COMMENT “”,
file_type STRING NULL COMMENT “”,
cloud_type STRING NULL COMMENT “”,
from_type STRING NULL COMMENT “”,
from STRING NULL COMMENT “”,
to_type STRING NULL COMMENT “”,
to STRING NULL COMMENT “”,
filesize INT(10) NULL DEFAULT “0” COMMENT “”,
uploaded_size INT(10) NULL DEFAULT “0” COMMENT “已传输文件大小”,
uptoken STRING NULL COMMENT “”,
status tinyint(2) NULL DEFAULT “0” COMMENT “0:失败,1:成功”,
conn_time INT(10) NULL DEFAULT “0” COMMENT “”,
cost_time INT(10) NULL DEFAULT “0” COMMENT “上传花费时间”,
upload_time INT(10) NULL DEFAULT “0” COMMENT “客户端上传文件时间”,
create_time DATETIME NULL COMMENT “”,
filename STRING NULL COMMENT “”,
app_ver STRING NULL COMMENT “”,
transfer_type tinyint(4) NOT NULL DEFAULT “0” COMMENT “传输方式, 0:自己传输给自己设备 1:附件设备传输 0:好友间文件传输”,
error_info STRING NOT NULL COMMENT “错误信息”,
is_block tinyint(1) NOT NULL DEFAULT “0” COMMENT “是否分块”,
country STRING NOT NULL COMMENT “”,
error_code INT(11) NULL COMMENT “”,
path STRING NULL COMMENT “手机端路径”
) ENGINE=olap
PRIMARY KEY(id)
COMMENT “”
DISTRIBUTED BY HASH(id) BUCKETS 32
PROPERTIES (
“replication_num” = “1”
);

用这个应该就行,不过建表中的id字段需要调整下长度,应该是数据中的id字段超过int(10)了

您好:
我的kafka数据结构为json,但数据内有一些列的值是json字符串 (结构实例 requestHttpHeader列)。
CREATE ROUTINE LOAD 设置 COLUMNS TERMINATED BY “,” 会把requestHttpHeader的值分为多列,该怎么设置分割符,才能让 requestHttpHeader的值成为一列?
结构实例:
{“pId”:“4225b546f16e4c8083dcc189067cd5c9”,
“remark”:“处理响应数据发生异常:null”,
“requestApiPath”:null,
“requestHttpHeader”:"{“content-length”:“0”,“host”:“10.10.106.74:8899”,“connection”:“Keep-Alive”,“source”:“max-busi-job-busi”,“x-kylin-user”:"%7B%22siteCode%22%3A%22999999%22%2C%22loginName%22%3A%2299999999%22%2C%22appId%22%3A%22no%22%2C%22siteId%22%3A%2225%22%2C%22siteName%22%3A%22%E6%80%BB%E9%83%A8%22%2C%22userName%22%3A%22%E8%99%9A%E6%8B%9F%E7%94%A8%E6%88%B7%22%2C%22userId%22%3A%2299999999%22%7D",“accept-encoding”:“gzip”,“accept”:"/",“user-agent”:“okhttp/3.11.0”}",
“requestIp”:“10.10.230.***” }

你好,可以routine load的时候指定格式为json,可参考json导入

1赞