我试图通过外部浏览器身份验证器从Databricks Notebook连接到Snowflake,但没有成功。
CMD1
sfOptions = {
"sfURL" : "xxxxx.west-europe.azure.snowflakecomputing.com",
"sfAccount" : "xxxxx",
"sfUser" : "ivan.lorencin@xxxxx",
"authenticator" : "externalbrowser",
"sfPassword" : "xxxxx",
"sfDatabase" : "DWH_PROD",
"sfSchema" : "APLSDB",
"sfWarehouse" : "SNOWFLAKExxxxx",
"tracing" : "ALL",
}
SNOWFLAKE_SOURCE_NAME = "net.snowflake.spark.snowflake"
CMD2
df = spark.read.format(SNOWFLAKE_SOURCE_NAME) \
.options(**sfOptions) \
.option("query", "select 1 as my_num union all select 2 as my_num") \
.load()
CMD2尚未完成,但我收到的“ ..正在运行的命令...”将永远持续下去。
任何人都可以帮助解决这里的问题吗?如何建立连接? 预先感谢
答案 0 :(得分:2)
您似乎将Authenticator设置为externalbrowser,但是根据the docs,它应该是sfAuthenticator-这是故意的吗?如果您尝试执行OAuth类型的auth,为什么还要输入密码?
如果您的帐户/用户需要OAuth登录,我将从sfOptions中删除该密码条目,将该条目编辑为sfAuthenticator,然后重试。
如果这不起作用,则应确保您的Spark群集可以连接到所有必需的Snowflake主机(see SnowCD for assistance)。
我希望这可以帮助...丰富
p.s。如果这个(或另一个)答案对您有帮助,请花一点时间“接受”对您有帮助的答案 通过单击答案旁边的复选标记,将其从“灰色”切换为“填充”。