【问题标题】:How to load a dataframe in PySpark to Snowflake如何将 PySpark 中的数据框加载到雪花中
【发布时间】:2022-01-15 04:28:43
【问题描述】:

我正在尝试将数据框 (df) 加载到雪花中。该表是在雪花中创建的,我正在尝试文档中所写的内容。

我正在做以下事情:

df.show()

sfOptions = {
"sfURL"       : "",
"sfAccount"   : "",
"sfUser"      : "",
"sfPassword"  : "",
"sfDatabase"  : "",
"sfSchema"    : "",
"sfWarehouse" : "",
"sfRole"      : "",
}

,(适当的值保存在变量中)

SNOWFLAKE_SOURCE_NAME= "net.snowflake.spark.snowflake"

df.write.format(SNOWFLAKE_SOURCE_NAME).options(**sfOptions).option("dbtable", "<tablename>").mode('append').options(header=True).save()

我收到了这个错误:

**: java.lang.ClassNotFoundException: Failed to find data source: net.snowflake.spark.snowflake**

我将 snowflake-spark 连接器和 snowflake jdbc 连接器添加到环境变量中的 PATH 中,并在创建 spark 会话时使用它。问题依然存在。

我尝试了多条路线,但没有运气。任何线索将不胜感激。

【问题讨论】:

    标签: python apache-spark pyspark apache-spark-sql snowflake-cloud-data-platform


    【解决方案1】:

    您需要在运行 pyspark 命令时添加 spark-snowflake 和 snowflake-jdbc 包。

    pyspark --packages net.snowflake:snowflake-jdbc:3.8.0,net.snowflake:spark-snowflake_2.11:2.4.14-spark_2.4
    

    或者如果你在本地有你的 jar 文件,你可以这样做

    pyspark --py-files spark-snowflake.jar snowflake-jdbc.jar 
    

    在您的 python 代码中甚至更准确。

    spark.sparkContext.addPyFile("/path/to/jar/xxxx.jar")
    

    【讨论】:

    猜你喜欢
    • 2020-10-07
    • 1970-01-01
    • 2020-09-29
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 2021-07-18
    相关资源
    最近更新 更多