Spark Snowflake 库通信间歇性错误:HTTP 状态 503

问题描述 投票:0回答:1

我正在使用 Spark Snowflake 库将数据从 Snowflake 加载到 Spark DataFrame 中,但有时我会遇到通信错误。因此,这是一个间歇性错误,有时会发生,有时则运行良好。 该作业是通过气流 2.6.3 安排的。

我收到的错误消息是:

Error in data fetch: An error occurred while calling o47.load.\n: net.snowflake.client.jdbc.SnowflakeSQLException: JDBC driver encountered communication error. Message: HTTP status=503.\n\tat 

Spark版本:3.3.4

Snowflake Spark 连接器版本:spark-snowflake_2.13-2.13.0-spark_3.3

雪花 JDBC:snowflake-jdbc-3.15.1.jar

这是我生成雪花配置的方法

            snowflake_spark_conf = {
                "sfURL": self.config.snowflake.url,
                "sfUser": self.config.snowflake.user,
                "pem_private_key": certificate,
                "sfDatabase": self.config.snowflake.database,
                "sfSchema": self.config.snowflake.schema,
                "sfWarehouse": self.config.snowflake.warehouse,
                "sfRole": self.config.snowflake.role,
            }

            self.df = (
                self._spark_session()
                .read.format("net.snowflake.spark.snowflake")
                .options(**snowflake_spark_conf)
                .option("query", query)
                .load()

还有其他人在使用 Spark Snowflake 库时遇到过此 HTTP 503 错误吗?可能是什么原因导致此问题?我该如何解决?

谢谢您的帮助!

我没有尝试过任何方法来解决这个问题,这种情况并不总是发生

pyspark jdbc snowflake-cloud-data-platform airflow-2.x
1个回答
0
投票

您无能为力。 503 表示该服务不可用。后端的雪花可以根据负载放大或缩小。在此期间,预计会回复客户 503。

如果这种情况发生的频率足以让您被认为具有破坏性,那么我建议您联系 Snowflake 支持人员进行调查。

您还可以通过传递

maxHttpRetries
参数并将其设置为高于默认值 7 的值,要求 JDBC 驱动程序重试 HTTP 请求的时间稍长一些。

© www.soinside.com 2019 - 2024. All rights reserved.