您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Spark Streaming+Spark SQL的數據傾斜示例分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
1.現象
三臺機器都有產生executor,每臺都會產生tasks,但是其中只有一臺的task有input數據,其他機器的tasks都沒有數據。
2.猜想
2.1是不是數據傾斜?
是
2.2是數據量過大,group by時,導致key分布不均?
比如key1 有98萬,key2有2萬,那么shuffle時,肯定數據傾斜。但是我剛開始數據量不是很大,所以pass (就算數據量大,也很簡單處理,一般處理時key加上隨機前綴數)
2.3是不是數據量太少 不夠分區的?
也懷疑過,不過還沒去驗證
2.4 flume流到kafka,是snappy壓縮格式,而spark作為kafka的消費者,雖然能夠自動識別壓縮格式,但是這種snappy格式不支持切分
也懷疑過,不過還沒去修改支持spilt的壓縮格式,也還沒去驗證
2.5 spark streaming分區數目是有誰決定的?
使用direct這種模式是由kafka的分區數目決定,
使用receiver這種模式由流的數目決定也就是由receiver數目決定。
3.修改分區數
[root@sht-sgmhadoopdn-02 kafka]#bin/kafka-topics.sh --alter --zookeeper 172.16.101.58:2181,172.16.101.59:2181,172.16.101.60:2181/kafka --topic logtopic --partitions 3
[root@sht-sgmhadoopdn-02 kafka]# bin/kafka-topics.sh --describe --zookeeper 172.16.101.58:2181,172.16.101.59:2181,172.16.101.60:2181/kafka --topic logtopic
Topic:logtopic PartitionCount:3 ReplicationFactor:3 Configs:
Topic: test Partition: 0 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2
Topic: test Partition: 1 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3
Topic: test Partition: 2 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1
[root@sht-sgmhadoopdn-02 kafka]#
4.驗證(每個executor都有input數據)
關于Spark Streaming+Spark SQL的數據傾斜示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。