PowerData

编者荐语:

来自PowerData徐振超同学的文章

以下文章来源于数据极客圈 ,作者徐振超

[

数据极客圈 .

一入大数据深似海?别怕!“数据极客圈” 就是你的救生圈,走对圈子跟对人,趣析数据、畅聊趋势,快进圈子!

](#)

“Stream Load”作为Apache Doris中一款快速导入数据的利器,虽然方便,但也让不少人“踩坑”。今天,我们就来聊聊有那些坑,以及如何优雅地避开它们。

1

数据质量问题:Error URL不见了?

场景

有用户反馈,Stream Load报了数据质量错误,但返回的response中找不到Error URL。心中一万只草泥马奔腾,调试无从下手。

原因

 这是一个已知问题,但随着Doris版本的演进,三次修复逐步解决了这个问题:

  1. Pipeline Load引入(v2.1.3)。
  2. Filter rows计算问题修复(v2.1.5)。
  3. 彻底修复(v2.1.6),无论filter rows是否大于0,只要有Error URL就返回。

临时解决方案

 Error URL实际上已经记录在BE端日志中:

  • 找到be.confstorage_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官方社区群

叮咚✨ “数据极客圈” 向你敞开大门,走对圈子跟对人,行业大咖 “唠” 数据,实用锦囊天天有,就缺你咯!快快关注数据极客圈,共同成长!


PowerData
1 声望2 粉丝

PowerData社区官方思否账号