我正在尝试通过外部浏览器验证器从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还没有完成,但我收到了".. Running Command...“这将永远持续下去。
这里出了什么问题,有人能帮上忙吗?如何建立连接?提前感谢
发布于 2020-10-13 19:55:56
看起来你正在将验证器设置为外部浏览器,但根据the docs的说法,它应该是sfAuthenticator -这是故意的吗?如果您正在尝试执行OAuth类型的身份验证,为什么还需要密码?
如果您帐户/用户需要OAuth才能登录,我会从sfOptions中删除password条目,将该条目编辑为sfAuthenticator,然后重试。
如果这不起作用,您应该确保您的Spark集群可以连接到所有需要的Snowflake主机(see SnowCD for assistance)。
我希望这个helps...Rich
附注:如果此(或其他)答案对您有帮助,请花点时间通过单击答案旁边的复选标记将其从“灰色显示”切换到“已填充”,从而“接受”该答案。
https://stackoverflow.com/questions/64330577
复制相似问题