我用Java编写了一个maven项目,以使用spark存储一些配置单元表。这些表和元变量位于我的Eclipse工作区的spark-warehouse
和metastore_db
目录中。 spark-warehouse
和metastore_db
的位置是/Users/username/workspace/Spark-Hive/load/spark-warehouse
和/Users/username/workspace/Spark-Hive/load/metastore_db
我编写了另一个Maven项目,使用以下Spark会话访问这些配置单元表:
String warehouseLocation = "/Users/username/workspace/Spark-Hive/load/spark-warehouse";
SparkSession spark = SparkSession.builder()
.appName("Load")
.master("local[*]")
.config("spark.sql.warehouse.dir", warehouseLocation)
// .config("hive.metastore.warehouse.dir","/Users/username/workspace/Spark-Hive/load/metastore_db")
.enableHiveSupport()
.getOrCreate();
我可以从编写加载表的第一个Maven项目访问那些表,但无法从第二个Maven项目访问这些表。我也将hive metastore的路径提供给第二个程序,但是没有用。如何使用Maven项目在Eclipse中访问这些配置单元表?
答案 0 :(得分:1)
通过以下方式提供spark-warehouse
路径:
String warehouseLocation = new File("/Users/username/workspace/Spark-Hive/load/spark-warehouse").getAbsolutePath();