IDEA Windows下SPARK连接Hive
文章目录
一、本地Windows环境配置
本地构建HADOOP客户端
- 将大数据平台的
HAODOP
环境打包拿到本地环境来:
#压缩整个HADOOP的目录之后解压至windows目录下tar-zcvf hadoop.tar.gz hadoop260/
Windows
下HADOOP
运行环境文件下载
下载对应版本的
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={//创建SparkConfval sparkConf =new SparkConf().setMaster("local[*]").setAppName("")//创建SparkSessionval 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
版权归原作者 NightFall丶 所有, 如有侵权,请联系我们删除。