Spark 从分布式文件系统中读取?

Spark reading from distributed file system?

假设我将数据(用户事件)存储在 S3 或 HDFS 等分布式文件系统中。用户事件按日期存储在目录中。

案例一 考虑到 spark 作业需要读取一天的数据。 我的理解是single spark job会从当天的目录中读取数据,逐块读取数据,提供数据给 用于计算的火花集群。逐块读取过程是连续的吗?

案例二 考虑到 spark 作业需要读取数据超过一天(比如 2 天) 问题:这里的作业必须从两个单独的目录中读取数据。我是否需要启动两个单独的 spark 进程(或线程)以便可以并行执行从单独目录读取的数据?

您可以通过在保存数据时对数据进行分桶和分区来实现这一点。还使用柱状的镶木地板文件格式。 Spark 将应用分区修剪和谓词下推以减少为查询读取的数据量。使用多个执行器和多个分区将有助于并行处理数据。