当前位置: 首页 > 知识库问答 >
问题:

向雪花表[snowflake-cloud-data-platform]写入pyspark dataframe时出错

谢和颂
2023-03-14
pyspark --> 2.3.2
python --> 3.6
snowflake spark connector --> spark-snowflake_2.11-2.7.0-spark_2.4.jar
snowflake jdbc --> snowflake-jdbc-3.12.9.jar

    # set options for write:
    sfOptionswrite = {
    "sfURL" : "xxxxxxx.us-east-1.snowflakecomputing.com",
    "sfUser" : "xxxxx",
    "sfPassword" : getpass.getpass(prompt='Enter your password: '),
    "sfDatabase" : "DB",
    "sfSchema" : "SCHEMA",
    "sfWarehouse" : "WH_NAME",
    "sfRole" : "SYSADMIN"
    }
    
    # write transformed dataframe df to snowflake:
    
    df.write.format('net.snowflake.spark.snowflake')\
    .options(**sfOptionswrite)\
    .option('dbtable', 'TABLE_NM')\
    .mode('overwrite')\
    .save()

错误:

由:java.io.InvalidClassException:net.snowflake.spark.snowflake.io.internals3Storage引起;本地类不兼容:stream classdesc serialVersionUID=-7958783596366368645,本地类serialVersionUID=-6090755107217034776

共有1个答案

颛孙天宇
2023-03-14

如何调用spark代码?你在用spark-submit吗?你有所有需要的包裹吗?

这也可能是不兼容的JAR。

如果有帮助,请查看下面的链接?

 类似资料:
  • 本文向大家介绍Java实现雪花算法(snowflake),包括了Java实现雪花算法(snowflake)的使用技巧和注意事项,需要的朋友参考一下 本文主要介绍了Java实现雪花算法(snowflake),分享给大家,具体如下: 简单描述 最高位是符号位,始终为0,不可用。 41位的时间序列,精确到毫秒级,41位的长度可以使用69年。时间位还有一个很重要的作用是可以根据时间进行排序。注意,41位时

  • 我正在使用雪花,我正在寻找插入数据到一个表,而使用一个变量,使用变量的目的是,当我可以改变它,而不做查找和替换所有 以下作品 以下操作不起作用 然而,这是有效的。 https://docs.snowflake.com/en/sql-reference/session-variables.html

  • 我试图使用以下代码将数据加载到雪花,但得到一个错误。 tmp是从Snowflake下载的,该表使用RStudio:

  • 我正在编写一个SP,其中输出预期为表。但不能像表格式那样获得输出,而是在使用数组作为返回类型时,将其作为一个对象、单个值或一列中的所有行接收。 ''' 创建或替换过程getRowCount(TABLENAME VARCHAR(1000))返回variant not null language javascript作为$$//动态编写要执行的SQL语句。 ''' 预期输出:在此处输入图像描述

  • 当我在snowflake中查询外部表(指向CSV文件)时,结果以JSON格式显示。 我如何检索我的结果在表格格式,而不使用任何这样的sql下面。我想做,我希望它以显示格式显示。 有什么想法吗?谢了。

  • 我知道我们将无法使用雪花中的GET_DDL函数获取外部表的DDL。是否有任何变通方法来获取雪花中外部表的DDL(Create语句)?