编者荐语:
来自PowerData徐振超同学的文章
以下文章来源于数据极客圈 ,作者徐振超
[
数据极客圈 .
一入大数据深似海?别怕!“数据极客圈” 就是你的救生圈,走对圈子跟对人,趣析数据、畅聊趋势,快进圈子!
](#)
“Stream Load”作为Apache Doris中一款快速导入数据的利器,虽然方便,但也让不少人“踩坑”。今天,我们就来聊聊有那些坑,以及如何优雅地避开它们。
1
数据质量问题:Error URL不见了?
场景
有用户反馈,Stream Load报了数据质量错误,但返回的response中找不到Error URL。心中一万只草泥马奔腾,调试无从下手。
原因
这是一个已知问题,但随着Doris版本的演进,三次修复逐步解决了这个问题:
- Pipeline Load引入(v2.1.3)。
- Filter rows计算问题修复(v2.1.5)。
- 彻底修复(v2.1.6),无论
filter rows
是否大于0,只要有Error URL就返回。
临时解决方案
Error URL实际上已经记录在BE端日志中:
- 找到
be.conf
中storage_root_path
配置的第一个目录下的be/storage/error_log
文件。
2
列名中的“特殊字符”问题
场景
列名中带有“@”等特殊字符,导致Stream Load失败。
解决办法
将双引号改为单引号,同时用反引号包裹列名:
-H 'columns:`@coltime`,colint,colvar'
3
CSV文件的换行符“鬼影”
场景
Windows系统生成的CSV文件,每行最后总多出一个\r,导入时屡屡报错。
解决办法
明确指定换行符为\r\n:
-H "line_delimiter:\r\n"
4
被引号“包裹”的数据
场景
导入数据时,每个字段都被双引号包裹,结果字段值全变成null。
解决办法
使用trim\_double\_quotes参数去掉双引号:
-H "trim_double_quotes:true"
5
单双引号的“迷惑行为”
场景
用户数据中包含\t制表符,Doris和SR对其理解却不一致,最终导致导入失败。
原因
Doris会将\t识别为制表符。SR认为\t是普通字符串。
解决办法
明确声明分隔符。
6
如何拼接字段?
场景
用户表有三列c1, c2, c3,而数据文件中有五列,用户想将后三列拼接成一列。
解决办法
使用Stream Load的表达式功能:
-H "columns:c1,c2,A,B,C,c3=CONCAT(A,B,C)"
7
导入格式和压缩支持
注意事项
目前只支持CSV文件的压缩,支持格式包括:gz, lzo, bz2, lz4, lzop, deflate。
不支持tar.gz,因为tar只是打包工具,并不是压缩算法。
希望大家在使用Stream Load时,能够少踩坑、多提效。如果你有其他“踩坑”经历,欢迎留言讨论!
完
●
数据极客圈子介绍
●
圈子1
Apache Doris社区是目前国内最活跃的开源社区(之一)。Apache Doris(Apache 顶级项目) 聚集了世界全国各地的用户与开发人员,致力于打造一个内容完整、持续成长的互联网开发者学习生态圈!
如果您对Apache Doris感兴趣,可以通过以下入口访问官方网站、社区论坛、GitHub和dev邮件组:
💡官网文档:https://doris.apache.org
💡社区论坛:https://ask.selectdb.com
💡GitHub:https://github.com/apache/doris
💡dev邮件组:mailto:dev@doris.apache.org
可以加作者微信(Faith\_xzc)直接进去Doris官方社区群
圈子2
PowerData是由一群数据从业人员,因为热爱凝聚在一起,以开源精神为基础,组成的数据开源社区。
社区整理了一份每日一题汇总及社区分享PPT,内容涵盖大数据组件、编程语言、数据结构与算法、企业真实面试题等各个领域,帮助您提升自我,成功上岸。
可以加作者微信(Faith\_xzc)直接进去PowrData官方社区群
叮咚✨ “数据极客圈” 向你敞开大门,走对圈子跟对人,行业大咖 “唠” 数据,实用锦囊天天有,就缺你咯!快快关注数据极客圈,共同成长!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。