Apache Spark snowflake 表作为数据块配置单元元存储中的外部表

jobtbby3  于 2023-03-19  发布在  Apache
关注(0)|答案(2)|浏览(136)

有人知道是否可以在databricks hive metastore中将snowflake表设置为外部表吗?
我正在处理一个项目,在该项目中,Azure Data Lake Gen 2中有一些表,我们从数据块管理它们。为了能够从数据块查询表,需要将它们添加到数据块配置单元元存储中的现有数据库。语法如下所示:
CREATE TABLE IF NOT EXISTS <DATABASE>.<TABLE_NAME> USING DELTA LOCATION <PATH_TO_TABLE>
现在,我需要做同样的一些表,我们在 snowflake 。我能够把表的数据库与Spark连接器。

sfOptions = {
  "sfURL" : "<account>.snowflakecomputing.com",
  "sfUser" : "<user>",
  "sfPassword" : "<password>",
  "sfDatabase" : "<database>",
  "sfRole": "<role>",
  "sfWarehouse" : "<cluster>"
} 

df = spark.read.format("net.snowflake.spark.snowflake")\
      .option("column_mapping","name")\
      .options(**sfOptions) \
      .option('dbtable',  "<schema>.<table_name>").load()

我还可以使用python snowflake connector从数据库中查询snowflake表,如下所示:

import snowflake.connector

# Set options below
sfOptions = {
  "account" : "<account>",
  "user" : "<user>",
  "password" : "<password>",
  "database" : "<database>",
  "role": "<role>",
  "warehouse" : "<warehouse>"
} 

ctx = snowflake.connector.connect(**sfOptions)
cs = ctx.cursor()

cs.execute(query)

但是,我需要做的是略有不同,我需要把 snowflake 表作为databricks外部表,因为我想把它们与delta lake表合并,直接从databricks笔记本查询。
先谢了。

uqcuzwp8

uqcuzwp81#

就目前而言,这是不可能的。

qoefvg9y

qoefvg9y2#

现在这是可能的。至少如果你有S3安装在数据块和添加为舞台在 snowflake 。

相关问题