繁体   English   中英

如何使用java中的spark从AWS S3读取.xls文件? 并且无法读取 sheetName

[英]How to read an .xls file from AWS S3 using spark in java? And unable to read 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.crealytics.spark.excel”。 一旦我对罐子进行了分级,我就可以准备好了。

但现在我面临另一个问题。 除了第一张纸之外,我无法阅读任何其他纸。 任何帮助?

我已经解决了这个问题。 我使用的是旧版本的“com.crealytics.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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM