【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

本文介绍了如何在不将配置文件放入resource目录的情况下,使用Spark本地访问CDH集群。针对Java和Python两种环境,分别提供了解决方案。在Java中,通常需要将配置文件放入resource目录,但在Python中,可以直接读取配置文件内容,设置SparkConf参数来实现远程集群的访问。
最低0.47元/天 解锁文章
1594

被折叠的 条评论
为什么被折叠?



