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

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

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

相关推荐
狼头长啸李树身1 小时前
眼儿媚·秋雨绵绵窗暗暗
大数据·网络·服务发现·媒体
Json_181790144802 小时前
商品详情接口使用方法和对接流程如下
大数据·json
Data 3172 小时前
Hive数仓操作(十七)
大数据·数据库·数据仓库·hive·hadoop
bubble小拾6 小时前
ElasticSearch高级功能详解与读写性能调优
大数据·elasticsearch·搜索引擎
ZOHO项目管理软件6 小时前
EDM平台大比拼 用户体验与营销效果双重测评
大数据
HyperAI超神经7 小时前
Meta 首个多模态大模型一键启动!首个多针刺绣数据集上线,含超 30k 张图片
大数据·人工智能·深度学习·机器学习·语言模型·大模型·数据集
Hello.Reader9 小时前
TopK算法在大数据重复数据分析中的应用与挑战
大数据·算法·数据分析
数据龙傲天9 小时前
1688商品API接口:电商数据自动化的新引擎
java·大数据·sql·mysql
Elastic 中国社区官方博客9 小时前
Elasticsearch:使用 LLM 实现传统搜索自动化
大数据·人工智能·elasticsearch·搜索引擎·ai·自动化·全文检索
Jason不在家11 小时前
Flink 本地 idea 调试开启 WebUI
大数据·flink·intellij-idea