2.3.9版本Hive的支持

直接在实例化SparkSession时,启用hive支持即可
例如:

val spark = SparkSession.builder().appName("Spark Hive Example").config("spark.sql.warehouse.dir", warehouseLocation).enableHiveSupport().getOrCreate()

CDH版本Hive(2.1.1)

需要配置以下属性:
config(“spark.sql.hive.metastore.version”, “2.1.1”)
config(“spark.sql.hive.metastore.jars”, “maven”)
config(“spark.sql.hive.metastore.jars.path”, “org.apache.hive:hive-metastore:2.1.1”)

例如:

val sparkConf = new SparkConf().setMaster("local[*]").setAppName("hive")val spark = SparkSession.builder()// cdh hive 2.1.1.config("spark.sql.hive.metastore.version", "2.1.1").config("spark.sql.hive.metastore.jars", "maven").config("spark.sql.hive.metastore.jars.path", "org.apache.hive:hive-metastore:2.1.1").config("hive.metastore.uris", "thrift://10.167.2.5:9083").config(sparkConf).enableHiveSupport().getOrCreate()spark.sql("show tables;").show()

先不要运行,找到ShutdownHookManager类,在这个类的logInfo("Deleting directory " + dirPath)附近打断点,阻止spark程序运行完后删除目录

打完断点后可以执行程序了,程序会在断点处阻塞住,我们通过控制台的日志信息,找到IsolatedClientLoader的提示信息,比如:

22/05/31 23:07:03 INFO IsolatedClientLoader: Downloaded metastore jars to /private/var/folders/ng/8nk0npb11v1gt6q9tj78085r0000gn/T/hive-v2_1-11b899b2-508d-4d0a-bb38-df4b193460ac

我们找到这个目录,这个目录就是cdh-2.1.1版本hive的依赖包,我们拷贝出来

更改刚才的属性,将.config(“spark.sql.hive.metastore.jars”, “maven”)改为.config(“spark.sql.hive.metastore.jars”, “path”),
将.config(“spark.sql.hive.metastore.jars.path”, “org.apache.hive:hive-metastore:2.1.1”)改为config(“spark.sql.hive.metastore.jars.path”,“拷贝出来的目录中的jar文件,使用file:///path的方式,使用逗号连接”)

再次运行就不会再进行下载了

3.1.2版本的Hive

使用方式类似CDH版本的hive(2.1.1)
.config(“spark.sql.hive.metastore.version”, “3.1.2”)

参考

https://spark.apache.org/docs/3.1.2/sql-data-sources-hive-tables.html

spark-3.1.2兼容多版本hive相关推荐

  1. tensorflow1.14.0  包含了1.x和2.x内容,此后版本要求兼容该版本

    tensorflow1.4  包含了1.x和2.x内容,此后版本要求兼容该版本 https://blog.csdn.net/wishchin/article/details/97613292

  2. android 在使用ViewAnimationUtils.createCircularReveal()无法兼容低版本的情况下,另行实现圆形scale动画...

    ViewAnimationUtils.createCircularReveal()的简介: ViewAnimationUtils.createCircularReveal()是安卓5.0才引入的,快速 ...

  3. 解决 Visual Studio 2017 RC 不兼容低版本 Visual Studio 创建的 MVC 4 项目的问题

    解决 Visual Studio 2017 RC 不兼容低版本 Visual Studio 创建的 MVC 4 项目的问题 参考文章: (1)解决 Visual Studio 2017 RC 不兼容低 ...

  4. Android开发之解决NestedScrollView滑动监听兼容低版本的方法

    NestedScrollView的滑动监听目前仅限api23及以上,为了兼容低版本如下自定义方法 可以自定义NestedScrollView即可如下: package cn.net.gfan.worl ...

  5. [css] 你对响应式设计的理解是什么?知道它基本的原理是吗?要想兼容低版本的IE怎么做呢?

    [css] 你对响应式设计的理解是什么?知道它基本的原理是吗?要想兼容低版本的IE怎么做呢? 理解:在不同系统,不同设备,不同尺寸的界面,有良好的用户体验,舒适的阅读体验,交互体验. 原理:根据不同设 ...

  6. android 沉浸式状态栏 兼容低版本,详解Android沉浸式实现兼容解决办法

    自android5.0开始,沉浸式状态栏似乎成为一种潮流,应用里缺少沉浸式总感觉少些什么.于是乎,我开始到处找如何兼容低版本的沉浸式,由于Android平台跨度问题,总遇到一些不如人意的问题.终于,皇 ...

  7. 【Warning】Unity2021.1将不兼容之前版本ECS

    本文首发公众号洪流学堂.洪流学堂,让你快人几步. Unity 2021.1以后,DOTS会有较大更新. DOTS生态中的部分包 (Burst, Jobs, Math, Collections) 继续兼 ...

  8. vue 检测ie版本_Vue2+Webpack+ES6 兼容低版本浏览器(IE9)解决方案

    Vue2+Webpack+ES6 兼容低版本浏览器(IE9)解决方案 解决方式:安装 "babel-polyfill" 即可. 命令:npm install --save-dev ...

  9. 3dmax高版本转低版本插件_Fundebug前端JavaScript插件更新至1.8.0,兼容低版本的Android浏览器...

    兼容低版本Android浏览器,请大家及时更新. Fundebug前端BUG监控服务 Fundebug是专业的程序BUG监控平台,我们JavaScript插件可以提供全方位的BUG监控,可以帮助开发者 ...

最新文章

  1. python 多线程及线程间通信
  2. 一个线程中lock用法的经典实例
  3. Open×××的新钩子设计
  4. 作为团队技术负责人,我是这样面试前端的
  5. 秒懂5G!通俗易懂外行也能看明白
  6. 区块链学习之区块链思想的诞生(一)
  7. 11.4 Daily Scrum
  8. 力扣 买卖股票的最佳时机II
  9. python大文件排序_Python如何实现大文件排序?Python大文件排序的实现方法
  10. python装饰器测试_python 装饰器
  11. GARFIELD@10-21-2004
  12. 强化学习Q-learning简单理解
  13. Node.js菜鸟教程 思维导图
  14. 尝试运行项目时出错,无法启动程序 , 由于应用程序配置不正确,未能启动此应用程序。请查看清单文件以查找可能的错误。
  15. 阿帕奇服务器文件上传,windows基于阿帕奇+PHP服务器,实现vc++文件上传功能
  16. 南丁格尔图文字颜色跟随
  17. Trusted Computing and DRM
  18. 【iOS】通过URL Scheme启动app(收集了常用的app的URL Scheme)
  19. Dingo Api请求接口404?
  20. 【MySQL】测试题01

热门文章

  1. hdu 6656 2019杭电多校第7场 期望题
  2. 织梦cms模板下载:广告品牌设计网站织梦模板
  3. 淘宝插旗备注|物流发货接口
  4. 记理光MP5503一体机扫描到域计算机共享文件夹一事
  5. R语言与线性回归分析
  6. 坚持开源软件的创新之路--陆首群
  7. 次元服务器的位置,暮色次元服务器介绍
  8. 使用python自动生成病例数据并导出excel(附代码)
  9. matlab 逻辑回归实现,逻辑回归原理介绍及Matlab实现
  10. 恒星物联 窨井盖安全监测系统方案 智慧井盖 井盖状态监测