Apache spark 运行Spark应用程序:持久化元存储

Apache spark 运行Spark应用程序:持久化元存储,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我在Spark 2.1应用程序上工作,该应用程序也使用SparkSQL并使用dataframe.write.saveAsTabletbl保存数据。我的理解是内存中的Derby DB用于Hive元存储,对吗?。这意味着我在第一次执行中创建的表在任何后续执行中都不可用。在许多情况下,这可能是预期的行为——但我希望在执行过程中保持元存储,因为这也是我在生产系统中的行为 所以,一个简单的问题是:如何更改配置以将metastore持久化到光盘上 备注:我不是用Spark shell或Spark submi

我在Spark 2.1应用程序上工作,该应用程序也使用SparkSQL并使用dataframe.write.saveAsTabletbl保存数据。我的理解是内存中的Derby DB用于Hive元存储,对吗?。这意味着我在第一次执行中创建的表在任何后续执行中都不可用。在许多情况下,这可能是预期的行为——但我希望在执行过程中保持元存储,因为这也是我在生产系统中的行为

所以,一个简单的问题是:如何更改配置以将metastore持久化到光盘上


备注:我不是用Spark shell或Spark submit启动Spark作业,而是作为一个独立的Scala应用程序。它已经在磁盘上持久化了。只要两个会话使用相同的工作目录或特定的metastore配置,永久表将在会话之间保持。

此答案看起来未完成,标记的风险很高。我建议你对它进行一些扩展,也许引用一些参考文献/网站中的一些内容,这些内容将有助于证明你的答案。至少,答案不要以逗号结尾我可以确认答案,但我想说的是,在创建Spark会话时,您需要包括.enableHiveSupport。只有这样,元存储才会持久化。