IDEA Windows下SPARK连接Hive
文章目录
- IDEA Windows下SPARK连接Hive
- 一、本地Windows环境配置
- 二、IDEA项目配置
- 1. POM配置
- 2. 资源文件配置
- 3. 测试验证
一、本地Windows环境配置
本地构建HADOOP客户端
- 将大数据平台的
HAODOP
环境打包拿到本地环境来:
#压缩整个HADOOP的目录之后解压至windows目录下
tar -zcvf hadoop.tar.gz hadoop260/
Windows
下HADOOP
运行环境文件下载
下载地址:https://github.com/cdarlint/winutils;
下载对应版本的
winutils
至本地,之后将解压的全部文件替换至本地$HADOOP_HOME/bin
目录下;
将hadoop.dll 和 winutils.exe 拷贝至C:\Windows\System32
下;
- 配置
Windows
环境变量
我的电脑
–>属性
–>高级系统设置
–>环境变量
# 系统变量添加 HADOOP_HOME
# 变量名:HADOOP_HOME
# 变量值:D:\hadoop260
# 系统变量添加 HADOOP_USER_NAME
# 变量名:HADOOP_USER_NAME
# 变量值:root #这里仅供参考也可以用大数据环境的其他用户,e.g. hdfs/hive;
# 系统变量 CLASS_PATH 添加
# 变量值末尾添加:%HADOOP_HOME%\bin\winutils.exe;
# 系统变量 Path 添加
# 变量值添加:%HADOOP_HOME%\bin & %HADOOP_HOME%\lib
PS:以上全部完成后,重启主机
二、IDEA项目配置
1. POM配置
注意这里要和本地的 scala 版本一致,这里统一是 2.12
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>2.4.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.12</artifactId>
<version>2.4.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-hive -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.12</artifactId>
<version>2.4.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
2. 资源文件配置
resource目录下添加 HADOOP及hive的配置文件
$HADOOP_HOME/etc/hadop目录下的:
- hdfs-site.xml
- yarn-site.xml
- core-site.xml
$HIVE_HOME/conf目录下的:
- hive-site.xml
另外贴下log4j.properties的配置,有需要的可以配置下:
## 控制台输出配置
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
# 文件输出配置
log4j.appender.A = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A.File = D:/log.txt #指定日志输出路径
log4j.appender.A.Append = true
log4j.appender.A.Threshold = DEBUG
log4j.appender.A.layout = org.apache.log4j.PatternLayout #使用自定义日志格式化器
log4j.appender.A.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n #指定日志的输出格式
log4j.appender.A.encoding=UTF-8 #指定日志的文件编码
# 指定日志的输出级别与输出端
log4j.rootLogger=WARN,Console
3. 测试验证
- 新建一个
object
object App {
def main(args: Array[String]): Unit = {
//创建SparkConf
val sparkConf = new SparkConf().setMaster("local[*]").setAppName("")
//创建SparkSession
val spark = SparkSession.builder()
.config(sparkConf)
.config("HADOOP_USER_NAME","root")
.enableHiveSupport()
.getOrCreate()
//测试连接hive
spark.sql("show databases").show()
}
}
PS:如果有写错或者写的不好的地方,欢迎各位大佬在评论区留下宝贵的意见或者建议,敬上!如果这篇博客对您有帮助,希望您可以顺手帮我点个赞!不胜感谢!
原创作者:wsjslient |
作者主页:https://blog.csdn.net/wsjslient |