- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
SeaTunnel StarRocks 连接器介绍-毕博
展开查看详情
1 .SeaTunnel StarRocks 连接器的 使用及原理介绍 毕博 Seatunnel Contributor 2023-03-30
2 . 01 Seatunnel StarRocks 连接器简介 02 StarRocks Connector 功能特性 CONTENT 03 StarRocks Connector 数据读取解析 04 StarRocks Connector 数据写入解析 05 StarRocks Connector 的使用示例 06 StarRocks Connector的后续规划
3 .01 Seatunnel StarRocks 连接器简介
4 .标题 Seatunnel 简介
5 .标题 Seatunnel StarRocks 连接器简介
6 .02 StarRocks Connector 功能特性
7 .标题 Source功能特性 功能特性 备注 是否支持 schema projection 字段投影 支持 select a、b Predicate pushdown 谓词下推 支持 where a < 3 datatype mapping 数据类型映射 支持 support user-defined split 用户定义分片 支持 parallelism 并行读取 支持 state-restore 状态恢复 支持 at-least-once 至少一次 支持 batch batch 模式读取 支持
8 .标题 Sink功能特性 功能特性 备注 是否支持 file format 写入的文件格式 支持 支持csv、json格式导入starrocks batch submit 批量提交 支持 retry 异常重试 支持 cdc 支持
9 .03 StarRocks Connector读取原理
10 .标题 字段投影
11 .标题 谓词下推
12 .标题 字段投影&谓词下推实现
13 .标题 并行读取:实现方案 • jdbc方式 • 直接通过be读取 先从 FE 节点获取查询计划 (Query Plan),然后将 FE 单点上串行读取数据 获取到的查询计划作为参数,下发至 BE 节点, 最后获取 BE 节点返回的数据
14 .标题 并行读取:获取SR的数据分布 • FE提供获取对单表查询计划API • 查询计划结果的数据结构 POST /api/{table_name}/_query_plan { "sql": "select f1, f2 from {table_name}" }
15 . 标题 并行读取:split切分(基于数据分布) • StarRocks表A的tablet数据分布
16 .标题 并行读取:用户自定义分片 • 配置request_tablet_size 控制分片数量
17 .标题 并行读取:分配split到reader • 配置并行度 • 将split分配给reader split reader(split-ower) split-1 reader-1 split-2 reader-2 split-3 reader-3 split-4 reader-1 split-5 reader-2
18 .标题 并行读取:reader读取数据 • Be提供Thrift读取协议 (https://github.com/StarRocks/starrocks/blob/main/gensrc/thrift/StarrocksExternalService.thrift)
19 .标题 并行读取: arrow -> seatunnel row的数据转换 Apache Arrow -> Seatunnel Row 数据类型转换 https://arrow.apache.org/
20 .标题 数据类型映射 starrocks datatype apache-arrow datetype seatunnel datatype BOOLEAN BIT BOOLEAN TINYINT TINYINT TINYINT SMALLINT SMALLINT SMALLINT INT INT INT BIGINT BIGINT BIGINT FLOAT FLOAT4 FLOAT DOUBLE FLOAT8 DOUBLE DECIMAL DECIMAL DECIMAL DATE VARCHAR DATE DATETIME VARCHAR TIMESTAMP CHAR VARCHAR STRING ARRAY Unsupport HLL Unsupport BITMAP Unsupport
21 .标题 并行读取: 状态恢复 • 将reader未读取的split写到state • reader在读取时主动从split队列 消费分片
22 .04 StarRocks Connector 写入原理
23 .标题 批量提交与异常重试 • 支持配置批量提交的条数、大小、间隔 • batch_max_rows • batch_max_bytes • batch_interval_ms • 支持配置重试次数和重试间隔 • max_retries • retry_backoff_multiplier_ms • max_retry_backoff_ms
24 .cdc 标题数据写入支持
25 .05 StarRocks Connector 使用示例
26 .标题 StarRocks之间同步数据
27 .06 连接器后续规划
28 .标题 StarRocks Connector后续计划 • 支持 at-lease-once • 支持 exactly-once • 支持 更多数据类型映射
29 .Thank you !