精选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.SparkSessionobject 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 文件。

3 pyspark版本

代码如下:

import osfrom pyspark.sql import SparkSessionos.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)相关推荐

  1. eclipse手动pom本地包_环境篇--Eclipse如何远程连接Hadoop集群调试

    关注 DLab数据实验室 公众号 带你一起学习大数据- 写在前面:最近终于闲下来了,打算把之前了解到的内容整理一下,先从搭建环境开始吧- 现在接触大数据开发的朋友可能直接使用Spark或者其他的查询引 ...

  2. windows下eclipse远程连接hadoop集群开发mapreduce

    转载请注明出处,谢谢 2017-10-22 17:14:09 之前都是用python开发maprduce程序的,今天试了在windows下通过eclipse java开发,在开发前先搭建开发环境.在此 ...

  3. 客户端通过librados远程连接ceph集群

    1.背景介绍  ceph集群作为存储服务器,自然需要有客户端连接服务器,把客户端的数据上传到服务器.  如果你选择用S3 API进行存储,那么客户端就是S3browser,与服务器连接的配置里,end ...

  4. spark 序列化错误 集群提交时_spark 面试题(2)

    33.选择题 二.选择题 1. Spark 的四大组件下面哪个不是 (D ) A.Spark Streaming    B. Mlib C Graphx    D.Spark R 2.下面哪个端口不是 ...

  5. Spark On YARN 集群安装部署

    2019独角兽企业重金招聘Python工程师标准>>> 最近毕设需要用到 Spark 集群,所以就记录下了部署的过程.我们知道 Spark 官方提供了三种集群部署方案: Standa ...

  6. myeclipse连接hadoop集群编程及问题解决

    原以为搭建一个本地编程测试hadoop程序的环境很简单,没想到还是做得焦头烂额,在此分享步骤和遇到的问题,希望大家顺利. 一.要实现连接hadoop集群并能够编码的目的需要做如下准备: 1.远程had ...

  7. 第07章 连接Hadoop集群

    序言 1.内容介绍 ​ 本章介绍了Hadoop的综合概述.连接Hadoop集群的基本条件以及具体连接的实现步骤. 2.理论目标 了解Hadoop分布式文件系统 了解MapReduce计算框架 掌握Ap ...

  8. 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. ...

  9. mongodb java连接 集群_java连接mongodb集群

    MongoDb 的分片拓展与副本集 Mongodb 数据库分片是通过并行处理数据实现负载均衡的一种重要手段[12],同时也是数据库集群 实现分布式计算的关键技术.在生产环境中,...... 本地数据访 ...

最新文章

  1. 骨干云池服务器SATA盘的RAID配置,标准互联 美国CN2云池服务器即将开售,欢迎新老客户选购 - Pesyun.com 公告与通知...
  2. Apache ZooKeeper - 事件监听机制详解
  3. 基础数学:关于二次无理数
  4. 20160331数据文件offline与open resetlogs2
  5. python京东抢购脚本_五个月抢京东抢茅台心得
  6. [PowerShell]人人都值得学一点PowerShell实现自动化(1)在VisualStudio上使用PowerShell...
  7. c 遍历文件 递归遍历_将递归文件系统遍历转换为流
  8. 手把手教你用原始方式上传项目至GitHub
  9. 软件开发质量的双保险 — 1.设计验证与软件测试
  10. 关于计算机的英语作文八百字,小学英语作文800字(精选10篇)
  11. Spring安全示例教程
  12. 220万电商人竞相参与,阿里巴巴认证解决企业人才难题
  13. AD画封装的血泪教训:有叉的放在外侧
  14. 深入理解ButterKnife源码并掌握原理(三)
  15. C#使用 OleDbConnection 连接读取Excel
  16. linux shell脚本教程
  17. 逆波兰表达式(含小数)、C语言
  18. 第10章 主成分分析(PCA)
  19. 腾讯大战360之观战指南
  20. EMW3080固件烧录方法

热门文章

  1. C语言 · 龟兔赛跑预测
  2. 我想做产品,实现一个非常优秀的电脑桌面记事本加闹钟
  3. 12-1。。。面试的一些体会吧
  4. kohana框架的入门学习 2.0版本的
  5. 类加载是为了执行静态方法
  6. 日志中的秘密:Windows登录类型
  7. vuejs 指令封装 button 加载效果_这些Vue自定义指令,让你的项目开发爽到爆
  8. webpack vue router import() 打包后单个js文件名称自定义
  9. 【JS】最简单的域名防红方法,QQ/微信打开网站提示浏览器打开
  10. 【HTML】获取当前时间并显示在网页上