本地Spark连接远程集群Hive(Scala/Python)
精选30+云产品,助力企业轻松上云!>>>
点击蓝色“大数据每日哔哔”关注我
加个“星标”,第一时间获取大数据架构,实战经验
摘要:本地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 bigdata01
10.1.11.11 bigdata02
10.1.11.12 bigdata03
画外音:笔者推荐使用 SwitchHosts 工具来管理 hosts 文件。
3 pyspark版本
代码如下:
import os
from 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全站用户行为数据仓库建设及实践
干货 | 携程机票数据仓库建设之路
专注大数据技术、架构、实战
关注我,带你不同角度看数据架构
你也「在看」吗?
本地Spark连接远程集群Hive(Scala/Python)相关推荐
- eclipse手动pom本地包_环境篇--Eclipse如何远程连接Hadoop集群调试
关注 DLab数据实验室 公众号 带你一起学习大数据- 写在前面:最近终于闲下来了,打算把之前了解到的内容整理一下,先从搭建环境开始吧- 现在接触大数据开发的朋友可能直接使用Spark或者其他的查询引 ...
- windows下eclipse远程连接hadoop集群开发mapreduce
转载请注明出处,谢谢 2017-10-22 17:14:09 之前都是用python开发maprduce程序的,今天试了在windows下通过eclipse java开发,在开发前先搭建开发环境.在此 ...
- 客户端通过librados远程连接ceph集群
1.背景介绍 ceph集群作为存储服务器,自然需要有客户端连接服务器,把客户端的数据上传到服务器. 如果你选择用S3 API进行存储,那么客户端就是S3browser,与服务器连接的配置里,end ...
- spark 序列化错误 集群提交时_spark 面试题(2)
33.选择题 二.选择题 1. Spark 的四大组件下面哪个不是 (D ) A.Spark Streaming B. Mlib C Graphx D.Spark R 2.下面哪个端口不是 ...
- Spark On YARN 集群安装部署
2019独角兽企业重金招聘Python工程师标准>>> 最近毕设需要用到 Spark 集群,所以就记录下了部署的过程.我们知道 Spark 官方提供了三种集群部署方案: Standa ...
- myeclipse连接hadoop集群编程及问题解决
原以为搭建一个本地编程测试hadoop程序的环境很简单,没想到还是做得焦头烂额,在此分享步骤和遇到的问题,希望大家顺利. 一.要实现连接hadoop集群并能够编码的目的需要做如下准备: 1.远程had ...
- 第07章 连接Hadoop集群
序言 1.内容介绍 本章介绍了Hadoop的综合概述.连接Hadoop集群的基本条件以及具体连接的实现步骤. 2.理论目标 了解Hadoop分布式文件系统 了解MapReduce计算框架 掌握Ap ...
- Spark 0.8 集群(CentOS6.4)-简单统计测试
环境:CentOS 6.4, hadoop-2.0.0-cdh4.2.0, JDK 1.6, spark-0.8.0-incubating-bin-cdh4.tar.gz,Scala 2.9.3 1. ...
- mongodb java连接 集群_java连接mongodb集群
MongoDb 的分片拓展与副本集 Mongodb 数据库分片是通过并行处理数据实现负载均衡的一种重要手段[12],同时也是数据库集群 实现分布式计算的关键技术.在生产环境中,...... 本地数据访 ...
最新文章
- 骨干云池服务器SATA盘的RAID配置,标准互联 美国CN2云池服务器即将开售,欢迎新老客户选购 - Pesyun.com 公告与通知...
- Apache ZooKeeper - 事件监听机制详解
- 基础数学:关于二次无理数
- 20160331数据文件offline与open resetlogs2
- python京东抢购脚本_五个月抢京东抢茅台心得
- [PowerShell]人人都值得学一点PowerShell实现自动化(1)在VisualStudio上使用PowerShell...
- c 遍历文件 递归遍历_将递归文件系统遍历转换为流
- 手把手教你用原始方式上传项目至GitHub
- 软件开发质量的双保险 — 1.设计验证与软件测试
- 关于计算机的英语作文八百字,小学英语作文800字(精选10篇)
- Spring安全示例教程
- 220万电商人竞相参与,阿里巴巴认证解决企业人才难题
- AD画封装的血泪教训:有叉的放在外侧
- 深入理解ButterKnife源码并掌握原理(三)
- C#使用 OleDbConnection 连接读取Excel
- linux shell脚本教程
- 逆波兰表达式(含小数)、C语言
- 第10章 主成分分析(PCA)
- 腾讯大战360之观战指南
- EMW3080固件烧录方法