doris-streamloader 与 curl 提交 Stream Load 导入作业 遇到的问题

Viewed 39

使用 doris-streamloader 运行不成功

运行命令

1.png

运行报错分析

检查了好几遍, 确认csv文件中的字段分隔符,字段个数

2.png

Reason: actual column number in csv file is  less than  schema column number.actual number: 1, schema column number: 66; line delimiter: [
], column separator: [  ], result values:[G1080140010001000102025080100000151,151,2025080100,441,441,441,0,1,2,1,晋KV6505,NULL,1,NULL,16,NULL,27,NULL,4,v1,G10801401002535,30,223B22BC,C2B7CDF899010001,9901000281900792,45,C2B7CDF899010001,23,9901,99010032232480254627,2,3,NULL,NULL,NULL,NULL,NULL,NULL,2,1,"2025-08-01 00:55:59",0,1,"2025-08-01 00:56:20",0,0,NULL,NULL,G1080,G1080140010,G108014001000100010,0,2,NULL,2,NULL,0,NULL,NULL,NULL,"2025-08-01 00:56:30",NULL,NULL,NULL,NULL,NULL, ]. src line [G1080140010001000102025080100000151,151,2025080100,441,441,441,0,1,2,1,晋KV6505,NULL,1,NULL,16,NULL,27,NULL,4,v1,G10801401002535,30,223B22BC,C2B7CDF899010001,9901000281900792,45,C2B7CDF899010001,23,9901,99010032232480254627,2,3,NULL,NULL,NULL,NULL,NULL,NULL,2,1,"2025-08-01 00:55:59",0,1,"2025-08-01 00:56:20",0,0,NULL,NULL,G1080,G1080140010,G108014001000100010,0,2,NULL,2,NULL,0,NULL,NULL,NULL,"2025-08-01 00:56:30",NULL,NULL,NULL,NULL,NULL];
Reason: actual column number in csv file is  less than  schema column number.actual number: 1, schema column number: 66; line delimiter: [
], column separator: [  ], result values:[G1080140010001000102025080100000156,156,2025080100,441,441,441,0,1,2,1,晋L01209D,NULL,5,NULL,16,NULL,27,NULL,1,v1,G10801401002535,32,6DC19F34,C2B7CDF899010001,9901000281658455,45,C2B7CDF899010001,23,9901,99011032232480288335,2,3,NULL,NULL,NULL,NULL,NULL,NULL,2,1,"2025-08-01 00:57:46",0,1,"2025-08-01 00:58:10",0,0,NULL,NULL,G1080,G1080140010,G108014001000100010,0,2,NULL,2,NULL,0,NULL,NULL,NULL,"2025-08-01 00:58:20",NULL,NULL,NULL,NULL,NULL, ]. src line [G1080140010001000102025080100000156,156,2025080100,441,441,441,0,1,2,1,晋L01209D,NULL,5,NULL,16,NULL,27,NULL,1,v1,G10801401002535,32,6DC19F34,C2B7CDF899010001,9901000281658455,45,C2B7CDF899010001,23,9901,99011032232480288335,2,3,NULL,NULL,NULL,NULL,NULL,NULL,2,1,"2025-08-01 00:57:46",0,1,"2025-08-01 00:58:10",0,0,NULL,NULL,G1080,G1080140010,G108014001000100010,0,2,NULL,2,NULL,0,NULL,NULL,NULL,"2025-08-01 00:58:20",NULL,NULL,NULL,NULL,NULL];

使用 curl 提交 Stream Load 导入作业 运行成功

运行命令

6.png

所有的运行命令

-- 运行不成功的命令
/opt/apps/doris-streamloader \
--source_file="etc_pass_rec_08.csv" \
--url="http://10.11.59.162:8030" \
--header="column_separator:," \
--header="columns:list_no,record_no,hour_batch_no,pay_fee,pay_fee_real,fee,discount_fee,direction,computer_order,obu_sign,vehicle_plate,vehicle_plate_original,plate_color,plate_color_original,vehicle_type,vehicle_type_original,vehicle_class,fee_vehicle_class,antenna_id,rate_module_version,rate_params_version,consume_time,obu_mac,obu_issue,obu_sn,obu_version,card_issue,card_type,card_net_no,card_no,is_local,type,image_serial_no,plate_image_serial_no,side_image_serial_no,image_link,plate_image_link,side_image_link,image_status,trans_status,trans_time,statistic,charging_status,charging_time,flow_status,bill_status,bill_time,bill_id,road_code,section_code,node_code,confidence,send_kf_flag,send_kf_time,send_zj_flag,send_zj_time,bill_process,settle_id,node_mileage,discount_type,create_time,update_time,spare1,spare2,spare3,spare4" \
--header="skip_header:1" \
--db="tmp" \
--table="t_etc_pass_record_202508_test" \
--u="用户名" \
--p="密码"

-- 成功命令
curl --location-trusted -u 用户名:密码 \
    -H "Expect:100-continue" \
    -H "column_separator:," \
    -H "columns:list_no,record_no,hour_batch_no,pay_fee,pay_fee_real,fee,discount_fee,direction,computer_order,obu_sign,vehicle_plate,vehicle_plate_original,plate_color,plate_color_original,vehicle_type,vehicle_type_original,vehicle_class,fee_vehicle_class,antenna_id,rate_module_version,rate_params_version,consume_time,obu_mac,obu_issue,obu_sn,obu_version,card_issue,card_type,card_net_no,card_no,is_local,type,image_serial_no,plate_image_serial_no,side_image_serial_no,image_link,plate_image_link,side_image_link,image_status,trans_status,trans_time,statistic,charging_status,charging_time,flow_status,bill_status,bill_time,bill_id,road_code,section_code,node_code,confidence,send_kf_flag,send_kf_time,send_zj_flag,send_zj_time,bill_process,settle_id,node_mileage,discount_type,create_time,update_time,spare1,spare2,spare3,spare4" \
    -T etc_pass_rec_08.csv \
    -XPUT http://10.11.59.162:8030/api/tmp/t_etc_pass_record_202508_test/_stream_load
2 Answers

方便提供一下表结构和部分数据(可复现就行)吗?具体Doris哪个版本呢?

建表语句

DROP TABLE IF EXISTS tmp.t_etc_pass_record_202508_test;
CREATE TABLE tmp.t_etc_pass_record_202508_test (
   list_no varchar(2000) COMMENT '流水号:交易时间(14位,yyyyMMddHHmmss)+城市编码(4位)+收费路段编码(9位)+行驶方向(1位序号)+节点编码(2位序号)+序号(6位)'
  ,record_no int COMMENT '记录流水号,按记录顺序累加的流水号,每天凌晨初始为1'
  ,hour_batch_no varchar(2000) COMMENT '小时批次号,按小时自增'
  ,pay_fee int COMMENT '应收金额,应收金额为优惠前金额,单位:分'
  ,pay_fee_real int COMMENT '应收金额(后台计费)'
  ,fee int COMMENT '交易金额,交易金额=应收金额-优惠金额'
  ,discount_fee int COMMENT '优惠金额,单位:分'
  ,direction int COMMENT '行驶方向:1-上行,2-下行'
  ,computer_order int COMMENT '控制器序号:1-主机、2-备机'
  ,obu_sign int COMMENT 'OBU类型:1-单片式OBU、2-双片式OBU'
  ,vehicle_plate varchar(2000) COMMENT '车牌号码'
  ,vehicle_plate_original varchar(2000) COMMENT '原始车牌'
  ,plate_color int COMMENT '车牌颜色:0-蓝色、1-黄色、2-黑色、3-白色、4-渐变绿色、5-黄绿双拼色、6-蓝白渐变色、7-临时牌照、9-未确定、11-绿色、 12-红色'
  ,plate_color_original int COMMENT '原始车牌颜色'
  ,vehicle_type int COMMENT '车型:1-一型客车、2-二型客车、3-三型客车、4-四型客车11-一型货车12-二型货车、13-三型货车、14-四型货车、15-五型货车、16-六型货车21-一型专项作业车、22-二型专项作业车、23-三型专项作业车、24-四型专项作业车、25-五型专项作业车、26-六型专项作业车'
  ,vehicle_type_original int COMMENT '原始车型'
  ,vehicle_class int COMMENT '车种:0-普通车、6-公务车、8-军警车、10-紧急车、12-免费车、14-车队、21-绿通车、22-联合收割机、23-抢险救灾、24-集装箱车、25-大件运输、26-应急保障、27-货车列车或半挂汽车列车、50-年票'
  ,fee_vehicle_class int COMMENT '计费车种:0-普通车、6-公务车、8-军警车、10-紧急车、12-免费车、14-车队、21-绿通车、22-联合收割机、23-抢险救灾、24-集装箱车、25-大件运输、26-应急保障、27-货车列车或半挂汽车列车、50-年票、51-通勤、52-特殊车辆'
  ,antenna_id int COMMENT '天线ID编号、从左侧车道顺序编号(超车道1开始),其他值类推'
  ,rate_module_version varchar(2000) COMMENT '计费模块版本号,取系统配置文件版本号'
  ,rate_params_version varchar(2000) COMMENT '计费参数版本号'
  ,consume_time int COMMENT '交易耗时,毫秒'
  ,obu_mac varchar(2000) COMMENT 'OBU 物理地址'
  ,obu_issue varchar(2000) COMMENT 'OBU发行方标识'
  ,obu_sn varchar(2000) COMMENT 'OBU合同序列号'
  ,obu_version varchar(2000) COMMENT 'OBU合同版本号'
  ,card_issue varchar(2000) COMMENT 'CPU卡发行方标识'
  ,card_type int COMMENT 'CPU卡类型:22-储值卡、23-记账卡'
  ,card_net_no varchar(2000) COMMENT 'CPU卡网络编号'
  ,card_no varchar(2000) COMMENT 'CPU卡内部编号'
  ,is_local int COMMENT '本省车辆:1-本省、2-外省'
  ,type int COMMENT '流水类型:0-正常流水、1-OBU拆卸、2-无卡、3-OBU发行方无效、4-OBU有效期无效、5-CPU卡发行方无效、6-CPU卡有效期无效、7-卡签不一致、8-储值卡余额不足、9-黑名单卡'
  ,image_serial_no varchar(2000) COMMENT '图像流水号'
  ,plate_image_serial_no varchar(2000) COMMENT '车牌图像流水号'
  ,side_image_serial_no varchar(2000) COMMENT '侧面图像流水号'
  ,image_link varchar(2000) COMMENT '图片链接'
  ,plate_image_link varchar(2000) COMMENT '车牌图片链接'
  ,side_image_link varchar(2000) COMMENT '侧面图片链接'
  ,image_status int COMMENT '图像匹配状态:0-匹配成功、1-匹配失败'
  ,trans_status int COMMENT '交易状态:0-未完成、1-已完成'
  ,trans_time datetime COMMENT '交易时间'
  ,statistic int COMMENT '统计状态:0-未统计、1-已统计'
  ,charging_status int COMMENT '计费状态 0/未计费 1/已计费'
  ,charging_time datetime COMMENT '计费时间'
  ,flow_status int COMMENT '流水状态 0/正常 1/待确认 2/已确认'
  ,bill_status int COMMENT '入账状态 0/未入账 1/已入账'
  ,bill_time datetime COMMENT '处理账单时间'
  ,bill_id varchar(2000) COMMENT '账单id'
  ,road_code varchar(2000) COMMENT '收费公路编码,5位,不足5位后补0,如:国道208-G2080'
  ,section_code varchar(2000) COMMENT '收费路段编码,9位,5位收费公路编码+3位顺序号+1位保留位,如:G208000010'
  ,node_code varchar(2000) COMMENT '节点编码,12位,5位收费公路编码+3位顺序号+1位保留位+1行驶方向+2位节点序号,如:G208000010101'
  ,confidence varchar(2000) COMMENT '置信度'
  ,send_kf_flag int COMMENT '发送客服系统标识'
  ,send_kf_time datetime
  ,send_zj_flag int COMMENT '发送追缴系统标识'
  ,send_zj_time datetime
  ,bill_process int COMMENT '账单进程 0-未出账 1-已出账 2-已结算 3-已退款 4-其他'
  ,settle_id varchar(2000) COMMENT '结算id'
  ,node_mileage varchar(2000) COMMENT '门架里程'
  ,discount_type varchar(2000) COMMENT '优惠类型'
  ,create_time datetime COMMENT '创建时间'
  ,update_time datetime COMMENT '修改时间'
  ,spare1 int COMMENT '备用1'
  ,spare2 int COMMENT '备用2'
  ,spare3 varchar(2000) COMMENT '备用3'
  ,spare4 varchar(2000) COMMENT '备用4'
)
COMMENT 'ETC识别流水表'
DISTRIBUTED BY HASH(list_no) BUCKETS 3
PROPERTIES (
    "enable_duplicate_without_keys_by_default" = "true"
);

已在社区群里发送数据

image.png