背景介绍

近期,BitSail 社区发布了 Contributor 激励计划第一期,包含众多 issue,吸引了很多热衷开源的小伙伴的加入,详情可查看https://mp.weixin.qq.com/s/GkGs-EqTV-szvzndMYrG1g

Issue 介绍

为了扩展 BitSail 的使用场景、适配用户的需求,BitSail 社区新增了十余 issue 来优化 BitSail 的功能。这次的 issue 包含了类型系统优化、connector 功能支持、测试覆盖等方面,欢迎大家前来支持贡献!

下面介绍部分新增 issue,这些 issue 在各方面对 BitSail 进行了优化。

1.使用优化:Mysql Reader 支持 schema 发现

用户在使用 Mysql reader 时,需要在任务配置中指定 schema,即要读取列的列名和类型。Mysql reader 会根据用户配置拼出一个 select 语句,用以从 mysql 拉取数据。

这种方式的好处在于可以灵活地选择 mysql 中的部分列进行读取。但是在实际场景中,用户往往需要读取 mysql 表中的全部列,这种时候 schema 配置就成为了一种负担。下图展示了一个读取包含 4 列数据 mysql 表的 schema 配置。

{
"job":{
"reader":{
// 仅展示schema配置部分
"columns":[
{
"name":"id",
"type":"bigint"
},
{
"name":"name",
"type":"varchar"
},
{
"name":"int_info",
"type":"int"
},
{
"name":"double_info",
"type":"double"
},
{
"name":"bytes_info",
"type":"binary"
}
]
}
}
}
 
 

因此,本次 BitSail 社区新增一个 issue 用于优化 Mysql reader 的 schema 配置,希望能在用户未配置 schema 信息时直接使用 mysql 表的元信息。

https://github.com/bytedance/bitsail/issues/248

类似的,社区也新增了一个 issue 用于支持在 Hive writer 中自动获取 schema。

https://github.com/bytedance/bitsail/issues/249

2.接口优化:批场景下的分片分配支持

为了支持多并发读取数据,目前主流做法是将数据源分成多个分片后分配给多个子任务并发读取。BitSail 定义了SourceSplitCoordinator接口用以支持这样的分片过程。

在批式场景中,数据源往往是静态的,reader 通过连接数据源生成所有分片后,即可制定一份分片的分发计划。

本次社区新增了一个 issue 用于构建一个支持如上批式场景的SourceSplitCoordinator

https://github.com/bytedance/bitsail/issues/247

3.文档优化:并行度计算

BitSail 支持通过任务配置设置 reader 和 writer 的并行度,但是目前没有详细的文档进行说明。因此本次新增一个 issue 希望能添加文档介绍 BitSail 的并行度设置和计算。

目前所有文档都会在BitSail主页进行展示。

https://bytedance.github.io/bitsail/zh/

致谢

BitSail 社区目前已经有多位贡献者,在此也对各位贡献者和其他朋友由衷地表示感谢。期待更多开发者、技术爱好者共同建设 BitSail 社区!

更多激励计划任务请关注 issue 链接:https://github.com/bytedance/bitsail/issues

BitSail issue 持续更新中,快来挑战,赢取千元礼品!的更多相关文章

  1. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  2. PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)

    PTA|团体程序设计天梯赛-练习题目题解锦集(持续更新中) 实现语言:C/C++:      欢迎各位看官交流讨论.指导题解错误:或者分享更快的方法!! 题目链接:https://pintia.cn/ ...

  3. 痞子衡嵌入式:史上最强i.MX RT学习资源汇总(持续更新中...)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MX RT学习资源. 类别 资源 简介 官方汇总 i.MXRT产品主页 恩智浦官方i.MXRT产品主页,最权威的资料都在这里,参考手 ...

  4. 史上最全的spark面试题——持续更新中

    史上最全的spark面试题——持续更新中 2018年09月09日 16:34:10 为了九亿少女的期待 阅读数 13696更多 分类专栏: Spark 面试题   版权声明:本文为博主原创文章,遵循C ...

  5. 2020年腾讯实习生C++面试题&持续更新中(3)

    2020年腾讯实习生C++面试题&持续更新中(3) hello,大家好,我是好好学习,天天编程的天天. 来给大家大家分享腾讯实习生面经了. 天天希望大家看到面经后一定要做充分的准备,结合自己掌 ...

  6. 2020年腾讯实习生C++面试题&持续更新中(5)

    2020年腾讯实习生C++面试题&持续更新中(5) 大家好呀,我是好好学习天天编程的天天~ 昨天一位小伙伴反馈已经拿到了腾讯offer,很是替小伙伴的激动~ 那今天还是持续给大家分享面经,希望 ...

  7. 【前端面试】Vue面试题总结(持续更新中)

    Vue面试题总结(持续更新中) 题目参考链接 https://blog.csdn.net/weixin_45257157/article/details/106215158 由于已经有很多前辈深造VU ...

  8. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  9. Atom使用记录(持续更新中)

    部分内容取自:http://www.jianshu.com/p/dd97cbb3c22d,我自己也在使用,持续更新中 Atom安装插件在窗口中File---Setting---install 在里面进 ...

  10. Pig基础学习【持续更新中】

    *本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...

随机推荐

  1. P4221 [WC2018]州区划分 题解

    题目链接 题目描述 给出 \(n\) 个城市,\(m\) 条边,一个划分合法当且仅当所有划分中的点集和集合中点之间存在的边集所构成的图不构成欧拉回路且联通. 定义一个点集的值为 划分的总值为其中所有点 ...

  2. Qt5 学习积累

    目录 1.cout/cin 2.随机数 3.QSting. string.QChar,.char等的转换 4.退出 5.Qt::tr() 6.QFrame::shape,shadow 7.QCombo ...

  3. 从HumanEval到CoderEval: 你的代码生成模型真的work吗?

    本文分享自华为云社区<从HumanEval到CoderEval: 你的代码生成模型真的work吗?>,作者:华为云软件分析Lab . 本文主要介绍了一个名为CoderEval的代码生成大模 ...

  4. FPGA常用IP核

    前言: 芯片行业中的IP,一般称为IP(Intellectual Property)核,是具有知识产权核的集成电路芯核的总称.说白了就是厂家实现的具有特定功能工具,然后我们可以直接调用,就相当于是函数 ...

  5. 外包杯学习进度(一) | 【Android】【Javaweb】Android与JavaWeb服务器交互教程——搭建环境

    前言 我们老师留了一个题目,这里就不写了,第一需要攻破的问题就是如何将app中的数据域javaweb进行传递,并可以回弹消息等问题.所以就开始了解一下这方面的信息. 资料积累 参考胡大炮的妖孽人生的博 ...

  6. 【Javaweb】四(关于接口类的作用)

    这里我们还是以房产信息管理系统的题目举例: 发现在DAO层和service层都有接口类(注:impl是实现类) 为什么要用接口,不直接写实现类: 1.简单.规范性:这些接口不仅告诉开发人员你需要实现那 ...

  7. Ubuntu安装odoo16

    虽然odoo17已经在10月份发布了,但笔者并不愿意立时升级:一方面没有迫切的需要去升级,仿佛没有odoo17就没法后续的工作一样:另一方面,我倒是更希望在双数版本发布的时候再升级.为此继续使用odo ...

  8. 利用Jdk动态代理模拟MyBatis的Mapper功能

    本文将先介绍jdk动态代理的基本用法,并对其原理和注意事项予以说明.之后将以两个最常见的应用场景为例,进行代码实操.这两个应用场景分别是拦截器和声明性接口,它们在许多开发框架中广泛使用.比如在spri ...

  9. [ABC317G] Rearranging

    Problem Statement There is a grid with $N$ rows and $M$ columns. The square at the $i$-th row from t ...

  10. [ABC280F] Pay or Receive

    Problem Statement There are $N$ towns numbered $1,\ldots,N$ and $M$ roads numbered $1,\ldots,M$. Roa ...