【问题标题】:In Spark 1.6 how to avoid data skew issue and evenly distribute the data在 Spark 1.6 中如何避免数据倾斜问题并均匀分布数据
【发布时间】:2018-03-17 10:03:42
【问题描述】:

您好,我正在读取一个包含 json 格式记录的序列文件,当读取转换为 Dataframe 的 json 记录时,会导致数据倾斜问题,正如您可以从 Spark UI 屏幕截图中看到的那样。如何避免这种数据倾斜问题?

val src = sc.sequenceFile(FilePath, classOf[Text], classOf[Text] )
val df = sqlCntxt.read.json(src)

261 个已完成的任务

Metric  Min 25th Percentile Median  75th Percentile Max
Duration    47 ms   0.1 s   5 s 25 s    **1.0 min**
GC Time 0 ms    0 ms    0 ms    0.1 s   0.7 s
Input Size/ Records 438.0 B/1   1013.0 B /2 1776.0 B/ 12    128.2 MB / 277608   **128.5 MB / 1162416**
Shuffle Write size/Records  240.0 B/1   446.0 B /1  509.0 B / 1 622.0 B /1  **2.3 KB /1**

【问题讨论】:

  • 您发布的代码不会进行类型检查和编译。

标签: apache-spark apache-spark-sql spark-dataframe spark-streaming apache-spark-mllib


【解决方案1】:

如果您不执行任何联接操作,则不会出现数据倾斜。看起来您只是想读取 JSON 文件。

当您尝试将异常庞大的数据集与非常小的数据集连接时,或者当数据根据您的连接条件分布不均匀时,您会遇到数据倾斜问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-02
    • 2019-12-13
    • 1970-01-01
    • 2016-12-21
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多