本 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
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/Fq...
《干货 | 如何快速实现 BitSail Connector?》https://mp.weixin.qq.com/s/Zk...
以上就是 BitSail Quick Guide 的全部内容,如果你对 BitSail 还有其他入门问题,或者有着更浓厚的兴趣想进一步了解,欢迎扫码加入我们的 BitSail 技术社群,和研发人员及开源爱好者们进行更深入的讨论~