Spark 读取 csv - Java 中的多个 S3 路径

Spark read csv - multiple S3 paths in Java

我正在尝试使用 spark 的读取 csv 方法读取多个 s3 目录(每个目录将包含多个文件),但是我收到错误消息,因为 s3 路径包含一些非法字符。我已经检查了相关问题,但没有看到 java 的解决方案。无法为 java.

实施相同的解决方案
DataSet<Row> DocsTemp  = null;
String scanResultFolder = "\"" + "s3a://somebucket/Dir1/" + "\",\"" + "s3a://somebucket/Dir2/" + "\"";
DocsTemp = spark.read().csv(scanResultFolder);

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

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

您需要传入 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/"});