Hive Metastore位置

Ngu*_*ông 1 hive apache-spark

Spark 1.3.1支持Hive Sql.当我键入时show tables,它返回 A B C D- 4个表.我有一个问题,Spark在哪里存储我的4个表?是hive.metastore位置吗?我已删除hive.metastore位置但show tables仍显示A B C D

Ger*_*Gum 5

我在文档中看到了这一点:"没有现有Hive部署的用户仍然可以创建HiveContext.当未由hive-site.xml配置时,上下文会自动在当前目录中创建metastore_db和warehouse."

因此,如果您没有任何自定义配置,它应该在仓库中的仓库中.您可以像这样更改它:

val sparkConf = new SparkConf()
val sparkContext = new SparkContext(sparkConf)
val hiveContext  = new org.apache.spark.sql.hive.HiveContext(sparkContext)
hiveContext.setConf("hive.metastore.warehouse.dir", $YOUR_LOCATION)
Run Code Online (Sandbox Code Playgroud)

我还在文档中看到了这一点:"在使用Hive时,必须构建一个HiveContext,它继承自SQLContext,并添加对在MetaStore中查找表的支持".

所以我真的不明白你如何在删除你的Metastore后仍能看到你的桌子,也许它在内存中的某个地方.


编辑:

我对此的理解:

  • Metastore:表格的标题
  • 仓库:表格