如何使用Java中的Spark从AWS S3读取.xls文件?并且无法读取SheetName



我正在尝试从AWS S3读取.xls文件,但是获得Java.io.filenotfoundexception异常。

我尝试了以下两种方法。一种是通过将option((中的路径与关键位置一起给出路径,另一个是在load((中添加相同的路径。

Dataset<Row> segmentConfigData = spark.read()
                .format("com.crealytics.spark.excel")
                .option("sheetName", "sheet1")
                .option("header","true")
                .option("location","s3a://input/552SegmentConfig.xls")
                .option("useHeader", "true")
                .option("treatEmptyValuesAsNulls", "true")
                .option("inferSchema", "true")
                .option("addColorColumns", "False")
                .load();
Dataset<Row> segmentConfigData = spark.read()
                .format("com.crealytics.spark.excel")
                .option("sheetName", "sheet1")
                .option("header","true")
                .option("location","s3a://input/552SegmentConfig.xls")
                .option("useHeader", "true")
                .option("treatEmptyValuesAsNulls", "true")
                .option("inferSchema", "true")
                .option("addColorColumns", "False")
                .load("s3a://input/552SegmentConfig.xls");

我找不到文件例外。同样,当我阅读.csv文件时,我可以读取该文件。

编辑 - 我已经解决了这个问题。我正在使用旧版本的" com.crelytics.spark.excel"。一旦我伸出罐子,我就可以准备好了。

,但现在我面临另一个问题。我无法阅读其他任何其他纸张。有帮助吗?

我解决了这个问题。我正在使用旧版本的" com.crelytics.spark.excel"。一旦我伸出罐子,我就可以准备好了。

此外,我只能读取(.xls(文件的第一张纸。以下是代码段:

spark.read()
    .format("com.crealytics.spark.excel")
    .option("location",path)
    .option("sheetName", sheetName)
    .option("dataAddress", "'"+sheetName+"'!A1")
    .option("header","true")
    .option("useHeader", "true")
    .option("treatEmptyValuesAsNulls", "true")
    .option("inferSchema", "true")
    .option("addColorColumns", "False")
    .load(path);

最新更新