我正在使用spark java访问hive元存储。在我的机器上只安装了spark,其他什么都没有。我没有hadoop目录或配置单元文件夹。我创造了 hive-site.xml
, hdfs-site.xml
, core-site.xml
以及 yarn-site.xml
内部 spark/conf
目录。我的hivemetastore安装在另一台机器上,它是hadoop集群的一部分,是namenode。我可以从 spark/bin/beeline
以及 spark/bin/spark-shell
在我的桌面上,但是当我尝试从javaapi访问hivemetastore时 metastore_db
文件夹和 derby.log
在我的项目中创建的文件,这意味着我无法访问配置单元元存储。
SparkSession spark = SparkSession
.builder()
.appName("Java Spark SQL basic example")
.enableHiveSupport()
.config("spark.sql.warehouse.dir", "hdfs://bigdata-namenode:9000/user/hive/warehouse")
.config("mapred.input.dir.recursive", true)
.config("hive.mapred.supports.subdirectories", true)
.config("spark.sql.hive.thriftServer.singleSession", true)
.config("hive.exec.dynamic.partition.mode", "nonstrict")
.master("local")
.getOrCreate();
spark.sql("show databases").show();
当我在我的桌面上启动thriftserver(即客户机)时,我得到一个日志thriftserver.log,上面写着 spark.sql.warehouse.dir
设置为 my local file system path
i、 e不是实际仓库所在的hdfs。
/spark/conf/core-site.xml文件
/spark/conf/hive-site.xml
暂无答案!
目前还没有任何答案,快来回答吧!