本地Spark连接远程集群Hive(Scala/Python)

精选30+云产品,助力企业轻松上云!>>> hot3.png


点击蓝色“大数据每日哔哔”关注我

加个“星标”,第一时间获取大数据架构,实战经验





摘要:本地Spark连接远程集群Hive(Scala/Python)

来源: https://blog.csdn.net/lovetechlovelife/article/details/94480806



1 背景


很多时候,我们在编写好 Spark 应用程序之后,想要读取 Hive 表测试一下,但又不想操作 (打jar包——>上传集群——>spark-submit) 这些步骤时,那我们就可以在本地直连 Hive,直接运行你的 Spark 应用程序中的 main 函数即可。代码如下(版本为Spark2.0+)


2 Scala版本


代码如下:

import org.apache.spark.sql.SparkSession
object SparkDemo {
  val spark = SparkSession      .builder()      .appName("Spark to Hive")      .master("local[4]")      .config("hive.metastore.uris""thrift://bigdata01:9083,thrift://bigdata02:9083")      .enableHiveSupport()      .getOrCreate() val df = spark.read.table("db.table") df.show(false)  spark.close()}


代码中在创建 SparkSession 实例时的配置项 “hive.metastore.uris” 的值以个人情况而定,具体配置对应的是你集群中Hive安装目录下的这个文件 …/conf/hive-site.xml 中的 hive.metastore.uris,这个配置表示Hive的Metastore Server所在的节点。


注意:一般来讲,bigdata01,bigdata02都是集群中节点的别名,并不是具体的IP地址,所以你还需要把集群某个节点下文件 /etc/hosts 中的配置拷贝到你Windows电脑的这个 C:\Windows\System32\drivers\etc\hosts 文件中,(MAC 是 /etc/hosts)这样才能在本地访问集群Hive的元数据服务器节点。具体配置就长下面这个样子:


10.1.11.10           bigdata0110.1.11.11           bigdata0210.1.11.12           bigdata03 


画外音:笔者推荐使用 SwitchHosts 工具来管理 hosts 文件。


c6a302f823c8aa963fc1d3f67e1d40018f1.png



3 pyspark版本


代码如下:


import osfrom pyspark.sql import SparkSession

os.environ["SPARK_HOME"] = "F:\App\spark-2.3.1-bin-hadoop2.6"

if __name__ == '__main__': spark = SparkSession\ .builder \ .appName("Spark to Hive") \ .master("local[4]") \ .config("hive.metastore.uris", "thrift://bigdata01:9083,thrift://bigdata02:9083") \ .enableHiveSupport()\ .getOrCreate() df = spark.read.table("db.table")    df.show(truncate=False) spark.stop()


pyspark 版本跟 Scala 不同的地方在于,pyspark 运行时会依赖 Spark 的一些文件,因此需要设置环境变量 SPARK_HOME,我们可以到 Spark官网下载与你所使用Spark相对应的版本,文件名称类似spark-2.3.3-bin-hadoop2.6.tgz,下载之后,解压到你电脑指定目录下即可,最后将解压后的根目录作为SPARK_HOME。


最新推荐


来了来了,2020 首场 Meetup ,可!

2020 年 Flink 最佳学习路线,学习的路上,你,并不孤单

<大数据> 自学视频资料,纯分享

Apache Flink OLAP引擎性能优化及应用


数据仓库


干货 | 有赞数据仓库实践之路

58全站用户行为数据仓库建设及实践

干货 | 携程机票数据仓库建设之路





专注大数据技术、架构、实战

关注我,带你不同角度看数据架构


c766c9429032983f2421c79e5c5f25aab01.jpg


你也「在看」吗?👇

本文分享自微信公众号 - 大数据每日哔哔(bb-bigdata)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值