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⽂档

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

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

相关推荐
青云交2 分钟前
大数据新视界 -- 大数据大厂之 Impala 性能优化:跨数据中心环境下的挑战与对策(上)(27 / 30)
大数据·性能优化·impala·案例分析·代码示例·跨数据中心·挑战对策
soso196838 分钟前
DataWorks快速入门
大数据·数据仓库·信息可视化
The_Ticker44 分钟前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
java1234_小锋1 小时前
Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
大数据·elasticsearch·jenkins
Elastic 中国社区官方博客1 小时前
Elasticsearch 开放推理 API 增加了对 IBM watsonx.ai Slate 嵌入模型的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
我的运维人生1 小时前
Elasticsearch实战应用:构建高效搜索与分析平台
大数据·elasticsearch·jenkins·运维开发·技术共享
大数据编程之光1 小时前
Flink Standalone集群模式安装部署全攻略
java·大数据·开发语言·面试·flink
B站计算机毕业设计超人1 小时前
计算机毕业设计SparkStreaming+Kafka旅游推荐系统 旅游景点客流量预测 旅游可视化 旅游大数据 Hive数据仓库 机器学习 深度学习
大数据·数据仓库·hadoop·python·kafka·课程设计·数据可视化
在下不上天3 小时前
Flume日志采集系统的部署,实现flume负载均衡,flume故障恢复
大数据·开发语言·python
智慧化智能化数字化方案3 小时前
华为IPD流程管理体系L1至L5最佳实践-解读
大数据·华为