【问题标题】:Spark read csv - multiple S3 paths in JavaSpark读取csv - Java中的多个S3路径
【发布时间】:2021-08-15 13:00:35
【问题描述】:

我正在尝试使用 spark 的 read csv 方法读取多个 s3 目录(每个目录中都有多个文件),但是由于 s3 路径包含一些非法字符,所以我收到错误。我已经检查了相关问题,但没有看到 java 的解决方案。无法为 java 实现相同的解决方案。

DataSet<Row> DocsTemp  = null;
String scanResultFolder = "\"" + "s3a://somebucket/Dir1/" + "\",\"" + "s3a://somebucket/Dir2/" + "\"";
DocsTemp = spark.read().csv(scanResultFolder);

但在运行时,它会将整个字符串(scanResultFolder)视为单个路径并给出错误。

请建议我实现此功能的正确方法。

【问题讨论】:

    标签: java apache-spark hadoop apache-spark-sql


    【解决方案1】:

    您需要传入String[] 而不仅仅是逗号分隔的String(请参阅https://spark.apache.org/docs/latest/api/java/org/apache/spark/sql/DataFrameReader.html#csv-java.lang.String...-):

    DocsTemp = spark.read().csv({"s3a://somebucket/Dir1/", "s3a://somebucket/Dir2/"});
    

    【讨论】:

      猜你喜欢
      • 2021-10-16
      • 1970-01-01
      • 2017-04-25
      • 2017-06-21
      • 2021-06-12
      • 2022-01-13
      • 2020-03-13
      • 2020-01-02
      • 1970-01-01
      相关资源
      最近更新 更多