【问题标题】:Data locality with Spark standalone and HDFSSpark Standalone 和 HDFS 的数据本地化
【发布时间】:2016-11-29 13:43:59
【问题描述】:

我有一个工作需要访问 HDFS 上的 parquet 文件,我想尽量减少网络活动。到目前为止,我已经在同一个节点上启动了 HDFS Datanodes 和 Spark Worker,但是当我启动我的工作时,数据位置始终位于它应该是 NODE_LOCAL 的任何位置,因为数据分布在所有节点之间。

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

【问题讨论】:

    标签: hadoop apache-spark hdfs


    【解决方案1】:

    您正在寻找的物业是spark.locality.wait。如果你增加它的值,它将在本地执行更多的工作,因为 spark 不会仅仅因为数据所在的工作人员忙而将数据发送给其他工作人员。不过,将值设置为高可能会导致执行时间延长,导致您无法有效地利用工作人员。

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

    【讨论】:

    • 我尝试将其设置为 30,但即便如此,我仍然看到很多 Locality Level: ANY when I watch the log
    • 你的任务持续多久?
    • 一个任务运行不到 30 秒,而且它似乎也没有挂起
    • 您启动的作业是否在执行随机播放(加入、分组、不同...)?那些不能在本地执行。
    猜你喜欢
    • 2022-01-02
    • 2020-03-06
    • 2013-06-18
    • 2015-09-09
    • 2017-02-22
    • 2016-04-18
    • 2015-05-18
    • 2013-06-18
    • 2019-01-05
    相关资源
    最近更新 更多