首页 > 解决方案 > Spark 多目录支持

问题描述

我正在尝试在 spark 3.x 中添加多个 spark 目录,但我有一个问题: spark 是否支持允许我们使用由命名空间管理的多个目录的功能,如下所示:

spark.sql.catalog.<ns1>.conf1=...
spark.sql.catalog.<ns1>.conf2=...
spark.sql.catalog.<ns2>.conf1=...
spark.sql.catalog.<ns2>.conf2=...

作为上面的配置,我们可以像这样使用 2 个目录:

spark.sql("SELECT * FROM ns1.db1.table1") // Load data from table1 in db1 of catalog ns1
spark.sql("SELECT * FROM ns2.db2.table2") // Load data from table2 in db2 of catalog ns2

谢谢

标签: apache-sparkapache-spark-sql

解决方案


您可以通过添加附加目录

spark.sql.catalog.catalog1=...
spark.sql.catalog.catalog1.type=...
spark.sql.catalog.catalog1.warehouse=...
spark.sql.catalog.catalog2=...
spark.sql.catalog.catalog2.type=...
spark.sql.catalog.catalog2.warehouse=...

catalog1andcatalog2本身是目录名称,因此可以像您提到的那样使用它。

spark.sql("SELECT * FROM catalog1.db1.table1")

推荐阅读