本 Quick Guide 面向 BitSail 新手入门使用人员,从源码编译、产物结构、如何提交作业、实机演示等多方面带领大家迅速入门 BitSail,从 0 到 1 了解并完成 BitSail 基础构建。

BitSail 源码编译

BitSail 在项目中内置了编译脚本 build.sh,存放在项目根目录中。新下载的用户可以直接该脚本进行编译,编译成功后可以在目录:bitsail-dist/target/bitsail-dist-${rversion}-bin 中找到相应的产物。

BitSail 产物结构

BitSail 如何提交作业

Flink Session Job

第一步:启动Flink Session集群

session运行要求本地环境存在hadoop的依赖,同时需要HADOOP_CLASSPATH的环境变量存在。

bash ./embedded/flink/bin/start-cluster.sh

第二步:提交作业到Flink Session 集群

bash bin/bitsail run \
--engine flink \
--execution-mode run \
--deployment-mode local \
--conf examples/Fake_Print_Example.json \
--jm-address <job-manager-address>
 

Yarn Cluster Job

第一步:设置HADOOP_HOME环境变量

export HADOOP_HOME=XXX

第二步:设置HADOOP_HOME,使提交客户端就找到yarn集群的配置路径,然后就可以提交作业到Yarn集群

bash ./bin/bitsail run --engine flink \
--conf ~/dts_example/examples/Hive_Print_Example.json \
--execution-mode run \
--deployment-mode yarn-per-job \
--queue default
 

BitSail 实机演示

这部分将为大家实机演示两个重要步骤。第一个演示是将 fake 的数据源写入到 MySQL 的 数据源中,第二个演示是将 MySQL 数据源写入到 Hive 中。

Fake->MySQL

// 创建mysql表
CREATE TABLE `bitsail_fake_source` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`price` double DEFAULT NULL,
`image` blob,
`start_time` datetime DEFAULT NULL,
`end_time` datetime DEFAULT NULL,
`order_id` bigint(20) DEFAULT NULL,
`enabled` tinyint(4) DEFAULT NULL,
`datetime` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 

MySQL->Hive

// 创建hive表
CREATE TABLE `bitsail`.`bitsail_mysql_hive`(
`id` bigint ,
`name` string ,
`price` double ,
`image` binary,
`start_time` timestamp ,
`end_time` timestamp,
`order_id` bigint ,
`enabled` int,
`datetime` int
)PARTITIONED BY (`date` string)
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
 
 

BitSail 技术干货往期回顾:

《干货|深度解析字节跳动开源数据集成引擎 BitSail》

https://mp.weixin.qq.com/s/FqVICUVsaJWNuDwIUe5ZnQ

《干货 | 如何快速实现 BitSail Connector?》

https://mp.weixin.qq.com/s/ZkJgq-WVT5W9Xw4AOvgmgg

以上就是 BitSail Quick Guide 的全部内容,如果你对 BitSail 还有其他入门问题,或者有着更浓厚的兴趣想进一步了解,欢迎扫码加入我们的 BitSail 技术社群,和研发人员及开源爱好者们进行更深入的讨论~

BitSail“拍了拍”你,并给你一份快速入门指南的更多相关文章

  1. 邓布利多拍了拍你,并递来一份CSS魔法

    校长:阿不思·邓布bai利多 亲爱的少年:我们愉快地通知您,您已获准在CSS魔法学校就读.特此带给你一份CSS魔法秘籍,代码简单,支持个性化定制.学期定于今日开始,我们将在此静候您的猫头鹰带来您的回信 ...

  2. 7. JDK拍了拍你:字符串拼接一定记得用MessageFormat#format

    目录 ✍前言 版本约定 ✍正文 DateFormat:日期时间格式化 SimpleDateFormat NumberFormat:数字格式化 DecimalFormat 一.0和#的使用(最常见使用场 ...

  3. 捷易拍与springMVC系统结合

    1. 捷易拍高拍仪在jsp页面的调用 使用ActiveX插件的方式处理解决此问题,捷易拍公司提供了支持IE8以上的32位浏览器的插件,安装插件后,我们可以使用Object标签,使用高拍仪 注意: 1. ...

  4. 制造测试数据的程序及对拍程序概述(Like CyaRon)

    作为一名OIer,比赛时,对拍是必须的 不对拍,有时可以悔恨终身 首先,对拍的程序 一个是要交的程序 另一个可以是暴力.搜索等,可以比较慢,但是必须正确 下面是C++版对拍程序(C++ & c ...

  5. 随机数据生成与对拍【c++版,良心讲解】

    10.7更新:见最下面 离NOIP2018没剩多长时间了,我突然发现我连对拍还不会,于是赶紧到网上找资料,找了半天发现了一个特别妙的程序,用c++写的! 不过先讲讲随机数据生成吧. 很简单,就是写一个 ...

  6. debug?用对拍!

    很多人考noip之类的比赛永远会发生一些奇怪的问题 比如说下面这两位(来自我的两位学长) sliver n:spli,考得怎样啊? spli:就那样啦,day1T1没推出来规律,别的还好 silver ...

  7. acm对拍程序 以及sublime text3的文件自动更新插件auto refresh

    acm等算法比赛常用---对拍 以及sublime text3的文件自动更新插件auto refresh 对拍 对拍即程序自动对比正确程序的运行结果和错误程序的运行结果之间的差异 废话少说, 直接上操 ...

  8. 对拍(C++)

    对拍(C++) 对拍是什么 ​ 众所周知,当我们正在考试敲代码的时候,每一道题,都会有某种正解能拿到满分:当我们想不出正解时,我们往往可以打暴力代码来骗分. ​ 但是,当我们有思路写正解,但又担心自己 ...

  9. (转)从P1到P7——我在淘宝这7年

    (一) 2011-12-08 [原文链接] 今天有同事恭喜我,我才知道自己在淘宝已经七周年了.很多人第一句话就是七年痒不痒,老实说,也曾经痒过,但往往都是一痒而过,又投入到水深火热的工作中去.回家之后 ...

  10. NOIp 11.11/12

    最后一场比较正式的NOIp模拟赛,写一发小总结.题目没什么好说的,大部分很简单,先贴一下代码. 1111 T1 //string //by Cydiater //2016.11.11 #include ...

随机推荐

  1. NativeBuffering,一种高性能、零内存分配的序列化解决方案[性能测试篇]

    第一版的NativeBuffering([上篇].[下篇])发布之后,我又对它作了多轮迭代,对性能作了较大的优化.比如确保所有类型的数据都是内存对齐的,内部采用了池化机器确保真正的"零内存分 ...

  2. Kubernetes 漫游:理解 ConfigMap

    安装说明 通过 docker desktop 可以安装适用于单机和开发环境单机版的 K8S,如果 docker desktop 无法启动 Kubernates 通过以下方式解决: 一:添加国内镜像源 ...

  3. 栈与队列应用:逆波兰计算器(逆波兰表达式;后缀表达式)把运算符放到运算量后边 && 中缀表达式转化为后缀表达式

    1 //1.实现对逆波兰输入的表达式进行计算如(2-1)*(2+3)= 5 就输入2 1 - 2 3 + * //先把2 1 压栈 遇到-弹栈 再把2 3压进去 遇到+弹栈 最后遇到*弹栈 2 //2 ...

  4. LeetCode-Java:88合并两个有序数组

    题目: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目. 请你 合并 nums2 到 nums1 中 ...

  5. OpenAI 董事会宫斗始作俑者?一窥伊尔亚·苏茨克维内心世界

    OpenAI 董事会闹剧应该是暂告一个段落了,Sam Altman和Greg Brockman等一众高管均已加入微软,还有员工写联名信逼宫董事会的戏码,关注度已经降下来了. 但是,这场宫斗闹剧的中心人 ...

  6. 30. 干货系列从零用Rust编写正反向代理,HTTP的组装之旅(中间件)

    wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...

  7. dbeaver软件的使用

    dbeaver软件的使用 一.dbeaver简介: dbeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具. DBeaver [1] 是一个通用的数据库管理工具和 SQL 客户端, ...

  8. 仅需三行代码! C# 快速实现PDF转PPT

    一般在会议.教学或培训活动中,我们都会选择PPT文档来进行内容展示.与PDF文档相比,PPT文档具有较强的可编辑性,可以随时增删元素,并且还可以设置丰富多样的动画效果来吸引观众注意.那么如何通过C#将 ...

  9. 2020牛客多校第一场B(虚树)

    参考博客 #include<cstdio> typedef long long ll; const int N = 2e5 + 50; int n, cnt, top, tot; int ...

  10. SFX的妙用——如何在不安装软件的情况下打开自定义格式文件?

    前段时间看到群友讨论压缩包能不能运行,想起了N年前用自解压文件SFX实现的一个"需求":在没有安装任何应用软件的Windows(当时还要支持XP)上能双击打开自定义格式的文件.当时 ...