转载spark异地读取hive(亲测有效)

本文介绍了如何使用Spark从一个集群同步数据到另一个集群,作为替代 Sqoop 的方案。通过连接源数据集群的Hive Metastore Server,切换Hadoop配置,利用SQL抽取并加载数据,实现高效的数据同步。文章详细讲解了整个过程,包括数据抽取、文件写入及加载到目标Hive表的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://segmentfault.com/a/1190000019456175

本文适用有入门spark基础的同学,一些最基础知识不再赘述

通过阅读本文即可掌握使用Spark跨集群同步Hive数据的技巧!

众所周知,业界比较成熟的同步数据工具是Sqoop,它是连接关系型数据库和Hadoop的桥梁

比较常用的场景是从MySQL等RDB同步到Hive、Hbase或者将Hive、Hbase的数据导出到MySQL

但是在公司项目技术选型时选用了用Spark来从一个集群同步数据到另一个集群

下面来比较一下这两种方式:

①Sqoop使用配置化,Spark需要代码开发

学习成本上使用Spark稍微高一些,但是同步数据复杂一些Sqoop的配置也不见得很简单

②Sqoop在同步数据进行存储时仍需要启动MapReduce任务,Spark使用自身框架进行内存计算

在效率上Spark比Sqoop要高

③Sqoop1和Sqoop2不能完全兼容,且网上在不同集群的Hive间同步数据的资料也比较少,出现问题时不保证能解决

所以选用了Spark作为天池的数据同步方式

其实当时选用Spark最重要的原因是本人使用Spark比较熟!

下面就来介绍如何使用Spark进行数据同步
1. 抽取数据文件

1.1 创建Spark入口对象指定源数据的Hive元数据服务
扩展:在远程连接Hive时Hive有两种服务Hive Meta

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值