【Spark案例】本地访问cdh集群不将配置文件放入resource目录方式
背景故事
今天我领导,他想用pyspark
连接集群中的hive
,作数据分析用。于是这变成了一个在本地集群中如何访问远程集群的问题。
在python
环境中使用pyspark
构建sparkSession
的过程当中,config
参数选项里面配置了一个hive.metastore.uris
的时候,sparkSession
能够访问hive
的数据库,及表信息。但是读取数据的时候会发生报错。
问题分析
在java中
如果是maven
构建的java
项目当中,使用spark
远程连接集群的话,需要在项目中的resource
文件目录下面将hadoop
的配置文件如hdfs-site.xml,core-site.xml,mapred-site.xml,yarn-site.xml
文件放置进resource
目录中。接下来运行的时候,maven
会将这些配置文件打包到classpath
中。然后源代码中,就会加载这些配置文件,相关的代码如下:
代码路径:org/apache/hadoop/conf/Configuration.java