ODS 层的数据导入目前主要以 Stream Load 为主,在 HDFS 上的历史存量数据也会通过 Broker Load 或Spark Load 导入。DW 层数据主要以 insert into 方式导入,同时为减轻 Doris 内存压力,我们将部分 ETL 任务放到 Kyuubi On Spark 引擎上去计算,目前在 DolphinScheduler 每天平稳调度 Doris DW 任务有上万个,其中大部...
另外,在大批量 Stream Load 导入的过程中容易遇到 -235 的问题,因为我们加入了 Stream Load 写入保护机制,具体为: 拥塞避免:当 Stream Load 写入数据返回 -235 异常时,写入线程进行休眠,初次休眠时间为 1 秒(后续每次休眠时间是上次休眠时间的 2 倍),等待休眠时间结束后再次重试写入,如果仍然失败则继续休眠,直至...
在应用 Apache Doris 解决业务问题的同时,我们也发现了 Apache Doris 存在的一些优化项,因此在与社区进行沟通后我们开始深度参与社区开发,解决自身问题的同时也及时将开发的重要 Feature 回馈给社区,具体包括 Stream Load 两阶段提交(2PC)、单副本数据导入、Compaction 内存限制等。 Stream Load 两阶段提交(2PC) 遇到的...
curl --location-trusted -u root -Tdate-H “label:123” http://abc.com:8030/api/test/date/_stream_load 创建导入的详细语法帮助执行 HELP STREAM LOAD 查看, 下面主要介绍创建 Stream load 的部分参数意义。 签名参数 user/passwd Stream load 由于创建导入的协议使用的是 HTTP 协议,通过 Basic access a...
Stream Load是一种同步的导入方式,您可以通过HTTP协议发送请求将本地文件或数据流导入到Doris中。Stream Load同步执行导入并返回导入结果。您可以直接通过请求的返回体判断本次导入是否成功。本文为您介绍Stream Load导入的基本原理、基本操作、系统配置以及最佳实践。
明细表部分,我们接入 Json 格式 TalosTopic,动态获取 Doris 表的 Schema 信息,通过双缓冲区循环攒批的方式,利用 StreamLoad 向 Doris 中写数据,如果在导入 Doris 时有出现失败的批次,重试 10 次仍然失败,会将数据按照应用粒度存入 HDFS,并在凌晨定时调度任务重新写入 T-1 未写入的数据。聚合表部分,我们由 Talos...
关于原子性保证的最佳实践,可以参阅 导入事务和原子性。 同步及异步导入 导入方式分为同步和异步。对于同步导入方式,返回结果即表示导入成功还是失败。而对于异步导入方式,返回成功仅代表作业提交成功,不代表数据导入成功,需要使用对应的命令查看导入作业的运行状态。 目前Doris支持两种从本地导入数据的模式: Stream Load ...
STREAM, LOAD最佳实践查看导入任务状态 Stream Load 是一个同步导入过程,语句执行成功即代表数据导入成功。导入的执行结果会通过 HTTP 返回值同步返回。并以 Json 格式展示。示例如下: { "TxnId": 17, "Label": "707717c0-271a-44c5-be0b-4e71bfeacaa5", "Status": "Success", "Message": "OK", "...
通常的做法,一种是确保自己能够访问内网IP地址,或者是给所有BE上层架设一个负载均衡,然后直接将 stream load 请求发送到负载均衡器上,由负载均衡将请求透传到BE节点。 Q2. Doris 是否支持修改列名? 不支持修改列名。 Doris支持修改数据库名、表名、分区名、物化视图(Rollup)名称,以及列的类型、注释、默认值等等。但...