Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark读取驱动程序中的orc文件而不是执行器中的文件_Apache Spark_Amazon S3_Orc - Fatal编程技术网

Apache spark Spark读取驱动程序中的orc文件而不是执行器中的文件

Apache spark Spark读取驱动程序中的orc文件而不是执行器中的文件,apache-spark,amazon-s3,orc,Apache Spark,Amazon S3,Orc,我在s3中有30GB的ORC文件(24个部分*1.3G)。我正在使用spark阅读这个兽人并做一些操作。但从日志中我观察到,甚至在进行任何操作之前,spark就已经打开并读取了s3中的所有24个部分(仅读取文件需要12分钟)。但我在这里担心的是,所有这些读取操作都只在驱动程序中发生,此时执行器都处于空闲状态 有人能解释一下为什么会这样吗?我有没有办法利用所有遗嘱执行人来阅读 这同样适用于拼花地板吗 提前谢谢 ORC和Parquet都可以检查文件页脚中的摘要数据,并且,根据s3客户端及其配置,可能

我在s3中有30GB的ORC文件(24个部分*1.3G)。我正在使用spark阅读这个兽人并做一些操作。但从日志中我观察到,甚至在进行任何操作之前,spark就已经打开并读取了s3中的所有24个部分(仅读取文件需要12分钟)。但我在这里担心的是,所有这些读取操作都只在驱动程序中发生,此时执行器都处于空闲状态

有人能解释一下为什么会这样吗?我有没有办法利用所有遗嘱执行人来阅读

这同样适用于拼花地板吗


提前谢谢

ORC和Parquet都可以检查文件页脚中的摘要数据,并且,根据s3客户端及其配置,可能会导致它执行一些非常低效的IO。这可能是原因

如果您使用的是s3a://连接器和Hadoop 2.8+的底层JAR,那么您可以将其告知在列数据上获得最大性能所需的随机IO,并调优其他一些东西


val选项=地图(
“spark.hadoop.fs.s3a.experimental.fadvise”=>“random”
“spark.hadoop.orc.splits.include.file.footer”->“true”,
“spark.hadoop.orc.cache.stripe.details.size”->“1000”,
“spark.hadoop.orc.filterPushdown”->“正确”
“spark.sql.parquet.mergeSchema”->“false”,
“spark.sql.parquet.filterPushdown”->“true”
)

您是否提供了数据的模式


如果没有,Spark将尝试获取所有文件的架构,然后继续执行。

可能会出现许多问题。请把密码寄出去。