StarRocks大批量数据导入方案-使用 Routine Load 导入数据

本文详细介绍如何使用Routine Load 导入数据

一、准备工作

1.1 安装基础环境

主要是安装StarRocks和Kafka,本文直接跳过不做详细介绍~

二、概念及原理

2.1 概念

  • 导入作业(Load job)

    导入作业会常驻运行,当导入作业的状态为 RUNNING 时,会持续不断生成一个或多个并行的导入任务,不断消费 Kafka 集群中一个 Topic 的消息,并导入至 StarRocks 中。

  • 导入任务(Load task)

    导入作业会按照一定规则拆分成若干个导入任务。导入任务是执行导入的基本单位,作为一个独立的事务,通过 Stream Load 导入机制实现。若干个导入任务并行消费一个 Topic 中不同分区的消息,并导入至 StarRocks 中。

三、创建导入任务

3.1 语法

sql 复制代码
CREATE ROUTINE LOAD example_db.example_tbl1_ordertest1 ON example_tbl1
COLUMNS TERMINATED BY ",", -- 指定 CSV 数据的列分隔符,默认为\t 可不止指定
COLUMNS (order_id, pay_dt, customer_name, nationality, temp_gender, price) -- 可不指定
PROPERTIES
(
    "desired_concurrent_number" = "5" ,-- 单个 Routine Load 导入作业的期望任务并发度,表示期望一个导入作业最多被分成多少个任务并行执行。默认值为 3
    "max_batch_interval" = "5", -- 任务的调度间隔,即任务多久执行一次。单位:秒。取值范围:5~60。默认值:10。
    "format"="json", -- 源数据的格式,取值范围:CSV、JSON。默认值:CSV
    "strip_outer_array" ="true" -- 是否裁剪 JSON 数据最外层的数组结构。取值范围:TRUE 或者 FALSE。默认值:FALSE
)
FROM KAFKA
-- 项目是kafka相关配置
(
    "kafka_broker_list" = "<kafka_broker1_ip>:<kafka_broker1_port>,<kafka_broker2_ip>:<kafka_broker2_port>",
    "kafka_topic" = "ordertest1",
    "kafka_partitions" = "0,1,2,3,4",
    "property.kafka_default_offsets" = "OFFSET_BEGINNING"
);

3.2 其他重要语法

  • 查看导入作业:SHOW ROUTINE LOAD
  • 查看导入任务:SHOW ROUTINE LOAD TASK
sql 复制代码
SHOW ROUTINE LOAD TASK WHERE JobName = "example_tbl2_ordertest2"
  • 暂停导入作业:PAUSE ROUTINE LOAD
sql 复制代码
PAUSE ROUTINE LOAD FOR example_tbl2_ordertest2;
  • 恢复导入作业:RESUME ROUTINE LOAD
sql 复制代码
RESUME ROUTINE LOAD FOR example_tbl2_ordertest2;
相关推荐
予枫的编程笔记26 分钟前
【Kafka基础篇】Kafka Consumer Group设计哲学拆解:为什么它能支撑高并发消费?
kafka·消息队列·consumer消费机制·consumer group·offset提交·pull模型·大数据实战
陈 洪 伟28 分钟前
大模型推理引擎vLLM(10): vLLM 分布式推理源码结构解析
分布式·vllm
予枫的编程笔记30 分钟前
【Kafka基础篇】Kafka高可用核心:ISR机制与ACK策略详解,吃透可靠性与吞吐量权衡
java·kafka·消息队列·高可用·分布式系统·isr机制·ack策略
Coder_Boy_1 小时前
Java高级_资深_架构岗 核心知识点全解析(通俗透彻+理论+实践+最佳实践)
java·spring boot·分布式·面试·架构
笨蛋不要掉眼泪1 小时前
Sentinel 热点参数限流实战:精准控制秒杀接口的流量洪峰
java·前端·分布式·spring·sentinel
美好的事情能不能发生在我身上1 小时前
kafka基础和应用
分布式·kafka
予枫的编程笔记1 小时前
【Kafka基础篇】面试高频题:Rebalance触发条件、执行阶段,一篇讲透不踩坑
kafka·rebalance·参数调优·分布式中间件·重平衡机制·面试考点·分布式开发
无心水10 小时前
【任务调度:数据库锁 + 线程池实战】3、 从 SELECT 到 UPDATE:深入理解 SKIP LOCKED 的锁机制与隔离级别
java·分布式·科技·spring·架构
百锦再11 小时前
Java中的char、String、StringBuilder与StringBuffer 深度详解
java·开发语言·python·struts·kafka·tomcat·maven
何中应16 小时前
RabbitMQ安装及简单使用
分布式·后端·消息队列