【发布时间】:2017-07-07 20:27:14
【问题描述】:
我编写了一个用于在 Hive 上运行 SparkSQL 的 Java 代码。我正在尝试将我的配置单元元存储的路径提供给程序,但它根本不起作用。
看节目:
String warehouseLocation = "file:${system:user.dir}/spark-warehouse";
SparkSession spark = SparkSession
.builder()
.appName("Java Spark Hive Example")
.master("local[*]")
.config("spark.sql.warehouse.dir", warehouseLocation)
.enableHiveSupport()
.getOrCreate();
try
{
spark.sql("select count(*) from health1 ").show();
}
catch (Exception AnalysisException)
{
System.out.print("\nTable is not found\n");
}
我的 metastore_db 位于:/home/aims/hadoop/hadoop/hive/var/lib/metastore_db
我希望我尝试使用 SparkSQL 执行的任何操作都应该反映在带有 HIVE 的 Hadoop 上。为此,我需要将 metastore_db 连接到我的 Maven 程序。
我怎么能这样做?有没有办法可以使用 config 在程序中提供我的hive-site.xml 路径?
【问题讨论】:
标签: java eclipse maven apache-spark hive