【实践解析】如何将自建 Hive 数据仓库跨版本迁移到阿里云 Databricks 数据洞察

点击上方蓝字关注我们,获取最新技术资讯

内容概述

Databricks 数据洞察( Databricks DataInsight 简称 DDI )是基于 Apache Spark 的全托管大数据分析平台。产品内核引擎使用 Databricks Runtime ,并针对阿里云平台进行了优化。DDI 为您提供了高效稳定的阿里云 Spark 服务,客户无需关心集群服务,让客户从繁杂的环境运维、内核优化等工作中解脱出来,专注于开发 Spark 作业。

场景描述

客户在 IDC 或者公有云环境自建 Hadoop 集群,数据集中保存在 HDFS 文件系统,同时借助 Hive 进行 ETL 任务。客户在决策上云之后,会将自建 Hadoop 集群的数据迁移到阿里云 Databricks 数据洞察集群。

方案架构

方案优势

  • 高效稳定

Databricks 数据洞察产品内核使用 Databricks 商业版的 Runtime 和 Delta Lake,并针对阿里云平台做了优化。与社区版 Spark 和 Delta Lake 相比,在功能和性能上都有明显的优势。

  • 经济

您可以按需创建 Databricks 数据洞察集群,即离线作业运行结束就可以释放集群,同时支持按负载和时间的弹性伸缩。

  • 协同分析

Databricks 数据洞察 Notebook 为大数据分析提供了可视化、交互式的平台。用户可以在 Notebook 中编辑、执行、查看 Spark 作业。不同角色的用户可以共享集群资源 Notebook 内容,协同合作。

  • 深度融合

Databricks 数据洞察与阿里云其它产品(例如,OSS、MongoDB 、Elasticseach 、RDS 和 MaxCompute 等)进行了深度整合,支持以这些产品作为 Spark 计算引擎的输入源或者输出目的地。

解决问题

  • Hive 数仓数据迁移 OSS 方案。

  • Hive 元数据库迁移阿里云 RDS 方案。

  • Hive 跨版本迁移到 Databricks 数据洞察使用 Delta 表查询以提高查询效率。

内容节选

重点节选 “ 升级 Databricks 数据洞察集群 Hive 元数据库的表结构 ”

在本实践方案中,Hive 版本从客户 IDC 的1.2.2变更为阿里云 Databrickes 数据洞察集群的2.3.5,但是 Databricks 数据洞察集群 Hive 元数据库中的表结构仍保留了 Hive 1.2.2的表结构,因此需要进一步更新表结构。

方式1:逐个版本进行升级的方法。

方式2:使用 Databricks 数据洞察集群的 shematool 工具进行快速升级表结构的方法。

方式2较方式1操作上更为简便,建议使用者在了解了方式1的原理后,选用方式2升级表结构。

方式1:逐个版本升级

步骤1   通过管控侧 SSH 登录到 Databricks 数据洞察集群主节点,执行以下命令找到升级脚本。(注:由于 Databricks 数据洞察是全托管集群,集群后台操作不对用户开放,如需测试请联系开发人员)

su - hadoop
cd $HIVE_HOME/scripts/metastore/upgrade/mysql
ls -l upgrade*.sql

步骤2   确定 Hive 元数据库表结构升级路径。

本实践方案中Hive 版本从1.2.2 变更为2.3.5,因此这里我们需要依次执行下面几个升级脚本:

upgrade-1.2.0-to-2.0.0.mysql.sql
upgrade-2.0.0-to-2.1.0.mysql.sql
upgrade-2.1.0-to-2.2.0.mysql.sql
upgrade-2.2.0-to-2.3.0.mysql.sql

步骤3   执行升级脚本更新 Hive 元数据库的表结构,红色字体为 RDSforMySQL 实例的内网连接地址。

升级脚本执行过程中需要输入 hivedbuser 对应的密码,结果如下图所示,最终会提示 MetaStore 的 schema 成功升级到2.3.0版本。

方式2: 使用 Schematool 升级

步骤1   通过管控侧 ssh 登录到 Databricks 数据洞察集群主节点,执行下面命令找到升级脚本。

su - hadoop
schematool -dbType mysql -upgradeSchemaFrom 1.2.0

说明:其中 1.2.0 表示从哪个版本开始进行 schema 升级,本方案中源 Hive 版本为 1.2.2 ,因此选用 1.2.0 作为源版本。执行结果如下图所示:

配置 hive-env.sh 启动文件。

su - hadoop
vim $HIVE_CONF_DIR/hive-env.sh

在文件末尾添加如下内容,保存后退出。

export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib

????完整实践内容,直接点击下方“ 阅读原文 ”获取,具体了解《自建 Hive 数据仓库跨版本迁移到阿里云 Databricks 数据洞察》!

总结

通过实践证明,客户使用全托管的 Databricks 数据洞察大数据分析平台,以下优势明显:

  • Databricks 数据洞察产品内核使用 Databricks 商业版的 Runtime 和 DeltaLake 较之前使用开源 Spark 做数据分析在性能上有3-5倍的提升,机器资源相比自建多了3倍。

  • 全托管的 Spark 集群免去运维人力成本,免去性能调优(运维1人+大数据1人)。

  • 使用 oss 对象存储方案,计算存储分离节省客户存储成本,并为以后数据湖和多计算框架做铺垫。

  • 推荐客户将数据格式存储为 Parquet ,性能会有非常大优化。

  • Databricks 数据洞察与阿里云其它产品( Kafka 、Redis 、MongoDB 、Elasticseach 、RDS 和 MaxCompute 等)进行了深度整合,支持以这些产品作为 Spark 计算引擎的输入源或者输出目的地。

END

阿里巴巴开源大数据技术团队成立 Apache Spark 中国技术社区,定期推送精彩案例,技术专家直播,只为营造纯粹的 Spark 氛围,欢迎关注公众号!

扫描下方二维码入 Databricks 数据洞察产品交流钉钉群一起参与交流讨论!

????戳阅读原文,获取完整版内容~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值