当前位置: 首页 > 知识库问答 >
问题:

用Spark Standone和HDFS实现数据局部性

东方骏
2023-03-14

我有一个工作,需要访问在HDFS上的拼花地板文件,我想最大限度地减少网络活动。到目前为止,我已经在相同的节点上启动了HDFS Datanodes和Spark Worker,但是当我启动作业时,数据位置总是在任何应该是NODE_LOCAL的地方,因为数据分布在所有节点中。

我是否应该配置任何选项来告诉Spark在数据所在的地方启动任务?

共有1个答案

韩乐湛
2023-03-14

您要查找的属性是spark.locality.wait。如果增加它的值,它将更多地在本地执行作业,因为spark不会仅仅因为数据所在的工作人员忙就将数据发送给其他工作人员。但是,将值设置为高可能会导致更长的执行时间,因为您不能有效地利用员工。

也可以在这里查看:http://spark.apache.org/docs/latest/configuration.html

 类似资料:
  • 我试图在K8上运行Spark,并在数据局部性方面有点挣扎。我正在使用原生的spark支持,但只是看了https://databricks.com/session/hdfs-on-kubernetes-lections-learned。我已经按照那里的步骤设置了我的HDFS集群(第一个k8节点上的namenode,使用主机网络)。我想知道是否有人知道对spark驱动程序的修正已经合并到主线spark

  • 本文向大家介绍HDFS数据写入实现机制相关面试题,主要包含被问及HDFS数据写入实现机制时的应答技巧和注意事项,需要的朋友参考一下 写入HDFS过程: 1、根namenode通信请求上传文件,namenode检查目标文件是否已存在,父目录是否存在 2、namenode返回是否可以上传 3、client会先对文件进行切分,比如一个blok块128m,文件有300m就会被切分成3个块,一个128M、一

  • 本文向大家介绍SVM和全部数据有关还是和局部数据有关?相关面试题,主要包含被问及SVM和全部数据有关还是和局部数据有关?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: SVM只和分类界限上的支持向量点有关,换而言之只和局部数据有关。

  • 在写作的情况下,这样的机制将如何运作?我知道,从技术上讲,HDFS中的文件可以保存在本地的任何节点中,并复制到其他两个节点(因此,在3个副本中有两个使用网络),但是,如果您考虑写入其他系统,如NoSQL数据库(Cassandra、HBase等),这些系统有自己的分发数据的方式。是否有一种方法告诉spark以一种基于输出接收器(目标NoSQL数据库,从本地或通过OutputFormat看到)所期望的

  • 如果我理解正确的话,在静态分配中,当Spark上下文在集群中的所有节点上创建时(在集群模式下),Spark应用程序将获取执行器。我有几个问题 > 如果在所有节点上都获得了执行器,并且在整个应用程序的持续时间内一直分配给这个应用程序,那么是否有很多节点都处于空闲状态? 在创建Spark上下文而不是在DagScheduler中时获取资源的优势是什么?我的意思是应用程序可以任意长,它只是保存资源。 我检

  • 本文向大家介绍vue实现局部刷新的实现示例,包括了vue实现局部刷新的实现示例的使用技巧和注意事项,需要的朋友参考一下 利用Vue里面的provide+inject组合(走过路过,不要错过) 使用2.2.0 新增的provide / inject控制<router-view>的显示隐藏 在App.vue中使用provide 在使用局部刷新的组件中使用inject 其他的刷新页面方法 window.