【问题标题】:SparkSQL and localitySparkSQL 和局部性
【发布时间】:2015-09-09 18:08:38
【问题描述】:

我在 hdfs 上使用 sparksql。
每个 hdfs 节点都有一个 spark slave 运行。
当我运行大型查询时,hdfs 似乎正在节点之间发送数据以触发从属服务器。
为什么 HDFS 不使用本地数据服务本地 spark?
所有任务都显示为 ANY 的位置级别。
我什至设置 spark.locality.wait=10000.

有什么遗漏或需要看的吗?

谢谢,

【问题讨论】:

    标签: apache-spark hdfs apache-spark-sql


    【解决方案1】:

    Spark 需要在作业中运行之前向 YARN 询问执行程序。因此,yarn 在不知道数据在哪里的情况下为执行程序分配容器。要解决这个问题,您需要告诉 spark 在像这样创建 SparkContext 时要创建哪些文件(假设您使用的是 scala):

    val locData = InputFormatInfo.computePreferredLocations(
        Seq(new InputFormatInfo(conf, classOf[TextInputFormat], new Path(“myfile.txt”)))
    
    val sc = new SparkContext(conf, locData)
    

    【讨论】:

    • 对不起,我没有提到我在thrify服务器上使用sparksql。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 2016-10-11
    • 2018-09-30
    • 2011-12-16
    相关资源
    最近更新 更多