PySpark Streaming,写入时产生错误

问题描述

我目前有一个脚本,该脚本从S3存储桶中获取数据并生成一个数据帧。我想将数据帧发送到雪花。目前,我正在这样做

df_write = df \
          .write\
          .format(SNowFLAKE_SOURCE_NAME)\
          .options(**sfOptions)\
          .option("dbtable","test_table")\
          .mode("append")\
          .save()

产生的错误

An error occurred while calling o72.save.
: java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;)V
    at net.sNowflake.spark.sNowflake.Parameters$MergedParameters.<init>(Parameters.scala:294)
    at net.sNowflake.spark.sNowflake.Parameters$.mergeParameters(Parameters.scala:288)
    at net.sNowflake.spark.sNowflake.DefaultSource.createRelation(DefaultSource.scala:97)
    at org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand.run(SaveIntoDataSourceCommand.scala:45)
    at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:70)

我认为这可能是版本不匹配的错误。当前我正在使用hadoop-aws-2.7.3.jar,spark-sNowflake_2.12-2.8.1-spark_3.0.jar,雪花-jdbc-3.12.8.jar

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)