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任务是否在计算前读取整个HDFS块?_Apache Spark_Hadoop_Hdfs - Fatal编程技术网

Apache spark Spark任务是否在计算前读取整个HDFS块?

Apache spark Spark任务是否在计算前读取整个HDFS块?,apache-spark,hadoop,hdfs,Apache Spark,Hadoop,Hdfs,我最初认为Spark任务在计算之前读取整个HDFS块,但我发现执行器读取每个应用程序的HDFS速度不同。根据原则,HDFS下载速度应为全网速度的上限,但实际情况并非如此。这取决于这项任务有多容易处理 例如,我的网络上限是100MB/S,但在LogisticRegression中,一个执行器(单核,意味着一次只能处理一个任务),HDFS下载速度只有30MB/S。当我在执行器中添加核数时,HDFS下载速度将相应提高 因此,我认为Spark读取HDFS文件是否类似于流模型,在读取时进行计算。Namen

我最初认为Spark任务在计算之前读取整个HDFS块,但我发现执行器读取每个应用程序的HDFS速度不同。根据原则,HDFS下载速度应为全网速度的上限,但实际情况并非如此。这取决于这项任务有多容易处理

例如,我的网络上限是100MB/S,但在LogisticRegression中,一个执行器(单核,意味着一次只能处理一个任务),HDFS下载速度只有30MB/S。当我在执行器中添加核数时,HDFS下载速度将相应提高


因此,我认为Spark读取HDFS文件是否类似于流模型,在读取时进行计算。

Namenode将从Datanodes获取块位置并将它们返回给客户端,是的。然后客户机(在本例中是Spark)将开始将它们作为流进行处理,并同时获取下一个块,假设文件是可拆分的。当任务进入完成阶段时,将根据您的应用程序逻辑对其结果进行操作。

Namenode将从Datanodes获取块位置并将它们返回给客户端,是的。然后客户机(在本例中是Spark)将开始将它们作为流进行处理,并同时获取下一个块,假设文件是可拆分的。当任务进入完成阶段时,将根据应用程序逻辑对其结果进行操作