SIG 兴趣小组|Data Lake Analytics(DLA)小组介绍

:sparkles: 小组介绍

Data Lake Analytics (DLA) 小组主要负责开发一种新的 DLA 框架,让 StarRocks 能更简单地接入外部数据源。详细介绍请见文档

:sparkles: 成立背景

目前 StarRocks 已经支持多种外表的分析,包括 Hive 外表,Iceberg 外表和 Hudi 外表,在开发支持这些不同类型的外表时,存在几个问题:

  • 每种外表类型都需要写冗余的代码
  • 需要开发者对 StarRocks 内核有相对较深的理解才能开发其他类型的外表
  • 需要重复定义 external resource、external table,比如 HiveResource/IcebergResource 等
  • 开发者开发新的 feature 经常会出现外表不支持的情况
  • 当前外表仅支持分析,不支持写入,analyze table 等

综上,以上的问题会导致开发者接入外表心智负担比较大,不同外表的支持容易出现不一致,很大程度上依赖开发者的能力和对 StarRocks 内核的理解

:sparkles: 设计目标

  • 快速接入数据源: 用户具备一定开发能力,可以在 FE/BE 做少量修改实现新数据源的接入;也支持插件化开发

  • 提升外部数据源查询体验: 用户无需通过脚本批量创建外表,然后查询

总体目标可以归纳为以上两点,具体展开分产品、技术、性能三个层面:

产品层面

  • 用户不需要在显示创建外表 schema

技术层面

  • 开发者不需要理解 StarRocks 过多内核即可开发一种数据源的支持
  • 下推和元数据获取等接口进行系统梳理,开发者只需要实现对应接口即可
  • StarRocks 内核开发新的 feature 不需要判断数据源,可以一并支持,避免出现功能上的不一致性

性能层面

  • 新的框架不会引入 overhead

:memo: 任务清单

第一期任务:https://github.com/StarRocks/starrocks/issues/5062
第二期任务:https://github.com/StarRocks/starrocks/issues/7268

:speech_balloon: SIG 会议

往期会议记录与下期会议时间

:people_holding_hands: 加入小组

加入 Slack 后搜索 #sig-dla

1赞