在 databricks sql 连接参数中指定数据库名称

specify a database name in databricks sql connection parameters

我正在使用 airflow 2.0.2 通过 airflow-databricks-operator 连接数据块。 SQL 运算符不允许我指定执行查询的数据库,因此我必须在 table_name 前加上 database_name 前缀。我也尝试阅读 databricks-sql-connector 的文档——https://docs.databricks.com/dev-tools/python-sql-connector.html,但仍然无法确定是否可以将数据库名称作为连接字符串本身的参数。

我尝试在 **kwargs 中设置 database/schema/namespace,但没有成功。查询执行器一直说找不到 table,因为查询一直在默认数据库中执行。

目前不支持 - 主要原因是如果您有多个语句,那么连接器可能会在它们执行之间重新连接,并且 use 的结果将会丢失。 databricks-sql-connector 也不允许设置默认数据库。

现在您可以解决这个问题,方法是将显式 use <database> 语句添加到要执行的 SQL 列表中(sql 参数可以是字符串列表,而不仅仅是字符串)。

P.S。我会看看,也许我会在下一个版本

中添加默认catalog/database的设置