Spark SQL读写Hive Table部署

news/2025/2/8 15:03:45/

个人博客地址:Spark SQL读写Hive Table部署 | 一张假钞的真实世界

官网参考文档:Hive Tables。

本文使用的组件版本如下:

  • Spark 3.1.2
  • Hive 3.1.2

第一步:Hive部署

在所有Worker节点上部署Hive。主要是使用Hive下面的libs。

第二步:Spark CLASSPATH

在${SPARK_HOME}/conf/spark-env.sh中添加以下内容:

export SPARK_DIST_CLASSPATH=$(hadoop classpath)

第三步:编译Spark

编译的目的是支持Hive。

./dev/make-distribution.sh --tgz -Phive -Phive-thriftserver -Pyarn -Dhadoop.version=3.2.2 -Phadoop-provided

第四步:部署Spark On Yarn

部署过程比较简单。部署过程遇到的问题参见另外一篇博文:Spark on YARN部署

第五步:兼容Hive 3.1.2

  • hive-site.xml复制到spark配置目录下。
  • 在配置文件spark-defaults.conf中添加以下内容。假设Hive安装目录为:/opt/hive
spark.sql.hive.metastore.version 3.1.2
spark.sql.hive.metastore.jars path
spark.sql.hive.metastore.jars.path file:///opt/hive/lib/*.jar

注意:这些Jar包需要使用Hive 3.1.2版本的。


http://www.ppmy.cn/news/1570345.html

相关文章

APP广告变现如何优化广告填充率,提升变现收益?

APP广告变现对接聚合广告平台可以提升广告变现效率,最大化广告收益。#APP广告变现# 一般来说,广告填充率越高,意味着广告采买方数量越多,可以将广告库存卖掉。但实际的广告变现业务中,100%的广告填充率几乎无法达成。…

不同数据库与 WebGL 集成

一、引言 在当今数字化时代,数据可视化是一个关键需求,而 WebGL(Web Graphics Library)为在网页上实现高性能 3D 图形渲染提供了强大的工具。然而,WebGL 本身无法直接与数据库进行交互,为了将数据库中的数…

机器学习,深度学习,神经网络,深度神经网络

人工智能包含机器学习,机器学习包含深度学习(是其中比较重要的分支)。深度学习源自于人工神经网络的研究,但是并不完全等于传统神经网络。 神经网络与深度神经网络的区别在于隐藏层级,通常两层或两层以上隐藏层的网络叫…

判断192.168.1.0/24网络中,当前在线的ip有哪些

需求:判断192.168.1.0/24网络中,当前在线的ip有哪些,并编写脚本打印出来。 [rootopenEuler ~]# cat 1.sh #!/bin/bash for ip in $(seq 1 254); do ping -c 1 -W 1 "192.168.1.$ip" > /dev/null 2>&1 if [ $? …

使用服务器部署DeepSeek-R1模型【详细版】

文章目录 引言deepseek-r1IDE或者终端工具算力平台体验deepseek-r1模型总结 引言 在现代的机器学习和深度学习应用中,模型部署和服务化是每个开发者面临的重要任务。无论是用于智能推荐、自然语言处理还是图像识别,如何高效、稳定地将深度学习模型部署到…

回溯算法中关于剪枝的一些应用

衔接上篇( ^ _ ^ ) 剪枝优化是回溯算法中一种重要的优化手段,其核心思想是 提前终止无效的递归分支,避免无意义的搜索,从而大幅减少计算量。通过合理剪枝,可以将指数级的时间复杂度降低到更优的水平。 一、…

机器学习常用包pandas篇(二)数据选择、删减、缺失值处理和可视化

目录 前言 1. 基于数字索引选择(iloc) 2. 基于标签名称选择(loc) 二、数据删减 1. 删除行/列(drop) 2. 数据去重(drop_duplicates) 3. 删除缺失值(dropna&#xff…

source 与 shell 之详解(Detailed Explanation of Source and Shell)

source 命令与 shell 变量 随着IC工具的升级迭代,不同项目使用到的 IC 工具版本可能会不一样。为保证 IC 工具版本和芯片项目的对应,需要使用 source 命令执行对应项目的环境变量设置脚本。那么,source 命令与一般的脚本执行命令&#xff0c…