本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技能干货往期回忆:
mp.weixin.qq.com/s/FqVICUVsa…
《干货 | 怎么快速实现BitSail Connector?》
mp.weixin.qq.com/s/ZkJgq-WVT…