【发布时间】:2020-04-10 04:10:16
【问题描述】:
我正在尝试使用 pyspark 从 EMR 集群连接到 Snowflake。
我在 spark-submit 中使用这两个 jar。
- 雪花-jdbc-3.5.2.jar
- spark-snowflake_2.11-2.7.0-spark_2.4.jar
但由于连接超时错误而失败。
我为 EMR 集群配置了正确的代理。来自同一个 EC2(EMR 主控)
我可以使用snowsql 和 python 连接器连接到 Snowflake。
我不确定为什么 pyspark 会超时。
【问题讨论】:
-
你能分享你关注的代码 sn-p 吗?有时由于代理问题,它可能无法连接。比如 http_proxy , https_proxy , HTTP_PROXY HTTPS_PROXY no_proxy 设置需要在这种情况下使用
-
SNOWFLAKE_SOURCE_NAME = "net.snowflake.spark.snowflake" sfOptions = {"sfURL": "XXX", "sfAccount": "XX", "sfUser": "XX", "sfPassword": “xx”、“sfDatabase”:“xx”、“sfSchema”:“xx”、“sfWarehouse”:“xx”} 查询 = “从 testdb.test1.t1 中选择 *” df = spark.read.format(SNOWFLAKE_SOURCE_NAME) .options(**sfOptions).option("query", query).load()
-
我可以使用来自同一个 ec2 实例的 snowsql 和 python 连接器连接到雪花。
-
你检查过上面提到的 co proxy 吗?剩下的一切看起来都不错,您还需要使用 biz_pstage_work 作为 sprak 连接到 sf 的架构
-
你能在这里发布错误堆栈跟踪吗?以下是我尝试通过 EMR shell 运行时的命令。(一些旧版本的 jar ) spark-submit --packages net.snowflake:snowflake-jdbc:3.8.0,net.snowflake:spark-snowflake_2.11:2.4.14 -spark_2.4 SparkConnPython.py pyspark --packages net.snowflake:snowflake-jdbc:3.8.0,net.snowflake:spark-snowflake_2.11:2.4.14-spark_2.4
标签: apache-spark pyspark snowflake-cloud-data-platform