0

我正在从 GCS 读取文本/csv 文件,并希望生成一个 excel 文件并将其发布回 GCS。下面是我正在使用的 Spark 代码,它正在创建一个 excel 文件,但没有数据并且已损坏。管道引发以下错误。我在依赖项中包含了 xmlbeans-3.1.0.jar JAR 文件的路径,但看起来它没有从指定位置获取最新版本。

如何覆盖类路径以使用 CDAP/Data Fusion 中指定位置的 JAR 文件?

ERROR
Caused by: java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
    at shadeio.poi.ooxml.POIXMLTypeLoader.<clinit>(POIXMLTypeLoader.java:43) ~[na:na]

管道 在此处输入图像描述

我正在使用的火花代码是:

def sink(df: DataFrame, context: SparkExecutionPluginContext) : Unit = {
    val fullpath = "gs://bucket_name/"
    val targetfilename = "test.xlsx"
  
    df.coalesce(1).write
        .format("com.crealytics.spark.excel")
        .option("Header", "true")
        .mode("append")
        .save(fullpath+targetfilename);    
}

谢谢, NS

4

0 回答 0