X2Doris实现Hive离线数据自动化一键迁移至Doris

提示:以下是本篇文章正文内容,下面案例可供参考

一、X2Doris是什么?

X2Doris 是 SelectDB (Doris主要开发维护团队)开发的,专门用于将各种离线数据迁移到 Apache Doris 中的核心工具,该工具集 自动建 Doris 表 和 数据迁移 为一体,目前支持了 Apache Doris/Hive/Kudu、StarRocks 数据库往 Doris 或 SelectDB Cloud 迁移的工作,整个过程可视化的平台操作,非常简单易用,减轻数据同步到 Doris 中的门槛。

二、安装部署

1.安装环境要求

  1. 部署节点必须可以连接hadoop集群,是hadoop的⼀个节点,或⾄少有 hadoop gateway 环境
  2. 部署节点必须配置了 hadoop 环境变量, 如 HADOOP_HOME , HADOOP_CONF_DIR
shell 复制代码
eg:
export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop #hadoop 安装⽬录
export HADOOP_CONF_DIR=/etc/hadoop/conf
export HIVE_HOME=$HADOOP_HOME/../hive
export HBASE_HOME=$HADOOP_HOME/../hbase
export HADOOP_HDFS_HOME=$HADOOP_HOME/../hadoop-hdfs
export HADOOP_MAPRED_HOME=$HADOOP_HOME/../hadoop-mapreduce
export HADOOP_YARN_HOME=$HADOOP_HOME/../hadoop-yarn

# 注:在 HADOOP_CONF_DIR 下 必须要有 hive-site.xml
  1. 部署节点可以连接⽬标 doris
  2. 部署节点可以连接mysql (存放平台元信息)

2.安装步骤

1.下载安装包

shell 复制代码
wget https://selectdb-doris-1308700295.cos.ap-beijing.myqcloud.com/x2doris/selectdb-x2doris-1.0.3_2.12-bin.tar.gz 

2. 解压安装包

shell 复制代码
tar -zxvf selectdb-x2doris-1.0.3_2.12-bin.tar.gz -C /opt/module
mv /opt/module/selectdb-x2doris-1.0.3_2.12-bin /opt/module/x2doris
cd /opt/module/x2doris

3.初始化元数据

  1. 将系统的数据库类型改成 mysql (默认的h2, 会导致系统重启后,数据会丢失) :
shell 复制代码
vim conf/application.yml
  1. 修改 conf/application-mysql.yml ⽂件,指定mysql的连接信息
shell 复制代码
vim conf/application-mysql.yml

3. 进⼊到 script 下:有两个⽬录,分别是 schema 和 data

  1. 先执⾏ schema 下的 mysql-schema.sql 完成表结果的初始化
  2. 再执⾏ data 下的 mysql-data.sql

4.配置 kerberos: 如果你的hadoop集群开启了kerberos认证(未开启kerberos认证则可以跳过此步骤),则需要配置下kerberis 的信息,编辑 conf/kerberos.yml

shell 复制代码
vim conf/kerberos.yml

5. 启动项⽬:

shell 复制代码
bin/startup.sh
  1. 进⼊平台: 访问地址: http://:9091$host ⽤户名密码: admin / selectdb

4.设置系统参数

进⼊平台之后,第⼀步就是要进⼊ 设置中⼼ 设置系统参数,该部分参数都为必须要设置的参数, 具体如下:

  1. Hadoop user : 该作业会访问hive数据,该 hadoop user 即为操作 hive 表的 hadoop ⽤户(⽇程hive作业的 操作⽤户即可)
  2. Spark Home : 指定部署机安装的spark的路径
  3. Hive metastore Uri : Hive 的 metastore uri ,可以去 $HADOOP_CONF_DIR 下查询 hive-site.xml
  4. 目标 Doris (SelectDB Cloud): 迁移数据的目标 Doris 或者 SelectDB Cloud 连接信息设置

三、使用

系统参数设置完成之后,就可以进⼊到 作业中⼼ 了,这⾥可以点击 "添加" ⼀个作业

1. 字段类型映射

已经把hive数仓中所有的库和表都罗列出来了。可以点击左侧的树形⽬录,选择⽬标表进⾏操作,选中⼀个 表之后,右侧会⾃动罗列出该表与 doris的字段映射关系,可以很轻松的映射⽬标doris表的字段类型。根据 提示⼀路进⾏操作即可完成字段的映射。 DUPLICATE KEY 和 DISTRIBUTED KEY 是 doris Duplicate 模型中 必须要指定的参数,按需进⾏指定即可。

注意:

  1. 创建的doris表为 Duplicate 模型
  2. STRING 类型不能设置为 DUPLICATE KEY , 你需要将 STRING 类型改成 VARCHAR 类型即可

2.分区映射

在第⼆步分区映射中,已经⾃动识别了Hive表中的分区字段,并且⾃动强制将分区⾃动设置为 DUPLICATE KEY 如果 Hive 原表中的 字段类型是 STRING ,则可以根据数据实际类型判断是否需要将对应的doris表的字 段类型转成时间类型。如果转成时间类型的话,则需要设置分区的区间。

3. 创建Doris表

完成前两步即可进⼊到 doris 表 ddl 的确认阶段,在该阶段已经⾃动⽣成了对应的 doris 表的建表 ddl 语句,你可以进⾏review确认,⼿动修改 ddl。 确认⽆误后,可以点击 创建 doris表 注意: 要确保对应doris的库存在,库需要⽤户⼿动创建

4. 作业设置

最后⼀步是同步作业的参数设置。具体如下: App Name : 通过作业名,默认是: Doris:db_table Master : 有两个可选项(yarn 和 local) DeployMode : 有两个可选项( client 和 cluster) Flush Batch : 底层写⼊doris表的批次⼤⼩,可以根据表的数据⼤⼩和写⼊吞吐⾃⾏设置 Max retry : 写⼊doris失败最⼤的重试次数

特别注意: Master 和 DeployMode 为 spark提交的参数,同步作业底层采⽤了spark

  1. ⽣产环境使⽤建议将 Master 设置为 yarn , DeployMode 设置为 cluster
  2. 如果是单机测试,可以选择 local ,如果 Master 为 local 的话,对应的 DeployMode 只能为client

这两个参数的设置⼀定要遵循spark的要求,更多信息可以查阅spark⽂档

确定好之后就可以点击"新建作业", 作业创建完成会⾃动跳转到作业列表⻚⾯ 点击 启动 即可启动该同步作业。

即可手动一键同步各表数据

相关推荐
IT小哥哥呀8 小时前
电池制造行业数字化实施
大数据·制造·智能制造·数字化·mom·电池·信息化
Xi xi xi8 小时前
苏州唯理科技近期也正式发布了国内首款神经腕带产品
大数据·人工智能·经验分享·科技
yumgpkpm8 小时前
华为鲲鹏 Aarch64 环境下多 Oracle 、mysql数据库汇聚到Cloudera CDP7.3操作指南
大数据·数据库·mysql·华为·oracle·kafka·cloudera
UMI赋能企业9 小时前
制造业流程自动化提升生产力的全面分析
大数据·人工智能
TDengine (老段)10 小时前
TDengine 数学函数 FLOOR 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
派可数据BI可视化12 小时前
商业智能BI 浅谈数据孤岛和数据分析的发展
大数据·数据库·数据仓库·信息可视化·数据挖掘·数据分析
jiedaodezhuti12 小时前
Flink性能调优基石:资源配置与内存优化实践
大数据·flink
Lx35213 小时前
Flink窗口机制详解:如何处理无界数据流
大数据
Lx35213 小时前
深入理解Flink的流处理模型
大数据
Lx35214 小时前
Flink vs Spark Streaming:谁更适合你的实时处理需求?
大数据