有人知道是否可以在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笔记本查询。
先谢了。
2条答案
按热度按时间uqcuzwp81#
就目前而言,这是不可能的。
qoefvg9y2#
现在这是可能的。至少如果你有S3安装在数据块和添加为舞台在 snowflake 。