Jdbc 使用OAuth的Spark Snowflake连接器的身份验证问题

Jdbc 使用OAuth的Spark Snowflake连接器的身份验证问题,jdbc,pyspark,snowflake-cloud-data-platform,Jdbc,Pyspark,Snowflake Cloud Data Platform,我正在尝试设置Spark Snowflake连接器,并遇到以下错误: “IllegalArgumentException:雪花密码或私钥路径必须提供'sfpassword或pem_private_key'参数,例如'password'” 我并没有尝试使用密码进行身份验证,而是使用OAuth令牌进行身份验证。使用PySpark并设置以下选项: SNOWFLAKE_SOURCE_NAME = "net.snowflake.spark.snowflake" SNOWFLAKE_OP

我正在尝试设置Spark Snowflake连接器,并遇到以下错误:
“IllegalArgumentException:雪花密码或私钥路径必须提供'sfpassword或pem_private_key'参数,例如'password'”

我并没有尝试使用密码进行身份验证,而是使用OAuth令牌进行身份验证。使用PySpark并设置以下选项:

SNOWFLAKE_SOURCE_NAME = "net.snowflake.spark.snowflake"
SNOWFLAKE_OPTIONS = {
    'sfURL': os.environ.get("SNOWFLAKE_URL", sf_url),
    'sfUser': os.environ.get("SNOWFLAKE_USER", user_id),
    'sfAuthenticator': os.environ.get("SNOWFLAKE_AUTH_METHOD", "oauth"),
    'sfToken': os.environ.get("SNOWFLAKE_TOKEN", oauth_token),
    'sfDatabase': os.environ.get("SNOWFLAKE_DATABASE", sf_db),
    'sfSchema': os.environ.get("SNOWFLAKE_SCHEMA", sf_schema),
    'sfWarehouse': os.environ.get("SNOWFLAKE_WAREHOUSE", sf_warehouse),
    'sfRole':  os.environ.get("SNOWFLAKE_ROLE", sf_role)
    }
版本:

  • Spark:Spark-3.0.1-bin-hadoop3.2
  • 雪花连接器:spark-Snowflake_2.12-2.8.2-spark_3.0.jar
  • 雪花JDBC:Snowflake-JDBC-3.12.14.jar

在将OAuth与Spark Snowflake连接器一起使用时,我遇到了与您相同的错误。然而,我是在Databricks里做的

为我修复它的解决方案是更新Spark版本。我使用了一个过时且不受支持的Spark版本(2.4.5),并将其更新为3.1.1版