如何为Spark SQL设置元数据数据库



Hive可以具有其元数据,并在其中存储表,列,分区信息。如果我不想使用蜂巢。我们可以创建一个与Hive相同的火花的元数据。我想查询Spark SQL(不使用DataFrame),例如Hive(Select,从何处)我们可以做到这一点?如果是,我们可以将哪个关系数据库用于元数据存储?

我们可以创建一个与Hive相同的元数据。

spark为您做到这一点,您不必使用单独的蜂巢安装甚至仅使用部分安装(例如,蜂巢metastore)。

无论您使用的Apache Spark的安装如何,Spark SQL都会在内部使用Hive Metastore,目的是与Hive一样(但是Metastore现在已成为Spark SQL的一部分)。

如果是,我们可以将哪个关系DB用于元数据存储?

任何蜂巢支持的东西,例如Oracle,MySQL,PostgreSQL。该配置几乎就像您使用单独的Hive安装一样(通常在此类企业安装中是这种情况)。

您可能想阅读Hive Metastore。

火花本质上是一个分布式计算系统,而不是分布式存储。因此,我们主要使用SPARK来完成计算工作,这需要来自不同存储的元数据。

但是,如果没有配置蜂巢,Spark在内部提供了一个iNmemoryCatalog来存储元数据。

您可以查看此信息以获取更多信息。

最新更新