spark程序找不到hive-site.xml文件
我正在尝试使用Spark HiveContext访问配置单元数据。我已经编写了查询“showdatabases”。但我得到的回应是默认的 似乎我的程序无法找到放置在我的项目的conf/文件夹中的hive-site.xml文件,因此正在我的项目目录中创建metastore_db 这是我尝试做的一个示例代码:spark程序找不到hive-site.xml文件,hive,apache-spark-sql,Hive,Apache Spark Sql,我正在尝试使用Spark HiveContext访问配置单元数据。我已经编写了查询“showdatabases”。但我得到的回应是默认的 似乎我的程序无法找到放置在我的项目的conf/文件夹中的hive-site.xml文件,因此正在我的项目目录中创建metastore_db 这是我尝试做的一个示例代码: private static SparkConf sparkConf = new SparkConf().setAppName("JavaSparkSQL").setMaster("local
private static SparkConf sparkConf = new SparkConf().setAppName("JavaSparkSQL").setMaster("local[*]");
private static JavaSparkContext ctx = new JavaSparkContext(sparkConf);
public static boolean runQuery() {
JavaHiveContext sqlContext = new org.apache.spark.sql.hive.api.java.JavaHiveContext(ctx);
List<Row> rows=sqlContext.sql("show databases").collect();
for(Row row:rows){
String i=row.getString(0);
System.out.println("Response: "+i);
}
return true;
}
private static SparkConf SparkConf=new SparkConf().setAppName(“JavaSparkSQL”).setMaster(“local[*]);
私有静态JavaSparkContext ctx=新JavaSparkContext(sparkConf);
公共静态布尔运行查询(){
JavaHiveContext sqlContext=neworg.apache.spark.sql.hive.api.java.JavaHiveContext(ctx);
List rows=sqlContext.sql(“显示数据库”).collect();
用于(行:行){
String i=row.getString(0);
System.out.println(“响应:+i”);
}
返回true;
}
我一点也不做。我只是调用runQuery()。如何在此代码中指定hive-site.xml的路径?或者是否有其他方法从配置单元读取数据?确保在.bash_配置文件(如果正在开发)或用于设置环境变量的任何文件中设置了必要的Spark环境变量:
export SPARK_HOME=CHANGEME!!!
export SPARK_MASTER_IP=127.0.0.1
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=9080
export SPARK_LOCAL_DIRS=$SPARK_HOME/../work
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=1G
export SPARK_WORKER_INSTANCES=2
export SPARK_DAEMON_MEMORY=384m
... ect ect ect
可能有一种方法可以使用SparkConf setters设置所有这些,但是我无法让它们工作。您设置了环境变量吗?火花之家等。。。