使用python JDBC驱动程序连接到雪花,但无法在jupyter笔记本中使用pyspark做到这一点?已经确认我的用户名和密码正确无误。
环境详细信息:-
参考本教程
https://docs.snowflake.net/manuals/user-guide/spark-connector-use.html#label-spark-options。
错误堆栈:-
有线索吗?
答案 0 :(得分:1)
只需为社区发布答案做出贡献
按照spark和driver的版本解决了该问题: 下面的罐子和火花组合对我有用。 Spark 2.3.3(spark-2.3.3-bin-hadoop2.7) Python 3.6.6(可以是3.7) 雪花jdbc-3.6.12.jar spark-snowflake_2.11-2.4.8.jar 雪花服务器:-( 3.27.2)
如果您遇到以下错误
Py4JJavaError: An error occurred while calling o272.load.
: java.sql.SQLClientInfoException: The only allowable value is
application name.
hodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
从config sfOptions对象中删除 sfAccount 属性 official snowflake document
sfOptions = {
"sfURL" : "<account_name>.snowflakecomputing.com",
"sfAccount" : "<account_name>",
"sfRole" : "<user_role_name>",
"sfUser" : "<user_name>",
"sfPassword" : "<password>",
"sfDatabase" : "<database>",
"sfSchema" : "<schema>",
"sfWarehouse" : "<warehouse>",
}
引发的错误几乎是笼统的,这进一步加剧了混乱,即错误或遗漏了任何东西以增加额外的内容。
答案 1 :(得分:0)
要添加到社区帖子和正确答案,此方法也适用于:
和以下罐子:
但您需要从雪花文档中删除 sfOptions
的“ sfAccount ”var sfOptions = Map("sfURL" -> "xxx.snowflakecomputing.com","sfUser" -> "your_sf_user","sfPassword" -> "your_sf_password","sfDatabase" -> "your_sf_database","sfSchema" -> "your_sf_schema","sfWarehouse" -> "your_sf_warehouse")`