Apache spark 对于S3,Spark-3.x是否只从文件格式(如parquet)读取过滤后的数据,而不是将整个文件加载到内存中
在从S3加载/读取拼花地板文件的情况下,spark 3.X是否会将整个文件加载到内存中,然后执行过滤,还是像Hadoop一样加载过滤后的数据?它会加载并四处搜索,但如果您使用的是s3a连接器和Hadoop-2.7二进制文件,而许多spark版本都附带了这些二进制文件,那么seek()通过中断任何现有的GET请求,然后再次从新的寻道位置执行另一个GET到EOF来实现。对于seek繁重的代码来说,这是非常低效的;hadoop-2.8+允许您切换到随机IO(fs.s3a.experimental.fadvise random) 提示:对于Hadoop 2.8+,在您拥有的FSDataInputStream上调用toString(),您将从s3a和abfs连接器获得一个统计报告,告诉您读取的字节数、丢弃的字节数等Apache spark 对于S3,Spark-3.x是否只从文件格式(如parquet)读取过滤后的数据,而不是将整个文件加载到内存中,apache-spark,amazon-s3,apache-spark-sql,parquet,apache-spark-dataset,Apache Spark,Amazon S3,Apache Spark Sql,Parquet,Apache Spark Dataset,在从S3加载/读取拼花地板文件的情况下,spark 3.X是否会将整个文件加载到内存中,然后执行过滤,还是像Hadoop一样加载过滤后的数据?它会加载并四处搜索,但如果您使用的是s3a连接器和Hadoop-2.7二进制文件,而许多spark版本都附带了这些二进制文件,那么seek()通过中断任何现有的GET请求,然后再次从新的寻道位置执行另一个GET到EOF来实现。对于seek繁重的代码来说,这是非常低效的;hadoop-2.8+允许您切换到随机IO(fs.s3a.experimental.fa