[英]Unable to create spark-warehouse directory using spark-2.3.0
[英]Unable to access to Hive warehouse directory with Spark
我正在尝试使用位于以下路径的IntelliJ上的Spark连接到Hive仓库目录:
hdfs://localhost:9000/user/hive/warehouse
为了做到这一点,我使用以下代码:
import org.apache.spark.sql.SparkSession
// warehouseLocation points to the default location for managed databases and tables
val warehouseLocation = "hdfs://localhost:9000/user/hive/warehouse"
val spark = SparkSession
.builder()
.appName("Spark Hive Local Connector")
.config("spark.sql.warehouse.dir", warehouseLocation)
.config("spark.master", "local")
.enableHiveSupport()
.getOrCreate()
spark.catalog.listDatabases().show(false)
spark.catalog.listTables().show(false)
spark.conf.getAll.mkString("\n")
import spark.implicits._
import spark.sql
sql("USE test")
sql("SELECT * FROM test.employee").show()
可以看到,我已经使用配置单元控制台在该数据库中创建了一个数据库“ test”并创建了一个“ employee”表。 我想获取最新请求的结果。
“ spark.catalog”。 和“ spark.conf”。 用于打印仓库路径和数据库设置的属性。
spark.catalog.listDatabases().show(false)
给我:
spark.catalog.listTables.show(false)
给我一个空的结果。 因此,此步骤有问题。
在作业执行结束时,我得到了以下错误:
> Exception in thread "main" org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException: Database 'test' not found;
我还为Hive仓库位置配置了hive-site.xml文件:
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://localhost:9000/user/hive/warehouse</value>
</property>
我已经使用Hive控制台创建了数据库“ test”。
下面是我组件的版本:
有任何想法吗 ?
在IntelliJ项目中的src下创建资源目录,然后将conf文件复制到该文件夹下。 构建项目..确保正确定义hive.metastore.warehouse.uris路径,并引用hive-site.xml。 在日志中,如果您正在获取INFO元存储库:已连接到元存储库,那么您就很好了。 例。
请注意,与打包jar并在hadoop集群上运行相比,与intellij建立连接并运行该作业的速度较慢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.