大資料優化之資料傾斜
資料傾斜
資料傾斜概念
在做計算的時候,資料的分散度不夠(資料的Key分佈不均),導致資料分佈在一臺或幾臺機器計算
症狀:典型的現象就是資料reduce到99%很久不動了
資料傾斜原因
總原因:key分佈不均
業務資料的特點(資料的冪律分佈)
人為建表的疏忽
join、group by、count distinct等操作觸發shuffle操作
一些資料傾斜解決方法
將資料均勻分配到各個reduce中是解決資料傾斜的根本所在
業務邏輯
根據業務特點,單獨對特別的業務資料進行聚合
程式
count distinct操作,先轉成group by,再count
left semi join使用
設定引數
hive.map.aggr = true
hive.groupby.skewindata=true
總結
如果玩大資料資料傾斜是繞不過去的一個東西,解決資料傾斜問題是大資料查詢優化的一種方法
資料傾斜是key分佈不均導致
把資料均勻分佈到各個reduce是解決資料傾斜的根本所在
沒有一勞永逸的方法,具體問題具體分析,並且需要不斷除錯
參考資料
漫談千億級資料優化實踐:資料傾斜
hive大資料傾斜總結
006.hive語句優化
Hive優化總結
Changelog
181205建立
相關推薦
大資料優化之資料傾斜
資料傾斜 資料傾斜概念 在做計算的時候,資料的分散度不夠(資料的Key分佈不均),導致資料分佈在一臺或幾臺機器計算 症狀:典型的現象就是資料reduce到99%很久不動了 資料傾斜原因 總原因:key分佈不均 業務資料的特點(資料的冪律分佈) 人為建表的疏忽 join、group by、count d
Spark效能優化之資料傾斜調優與shuffle調優
一、資料傾斜發生的原理 原理:在進行shuffle的時候,必須將各個節點上相同的key拉取到某個節點上的一個task來進行處理,比如按照key進行聚合或join等操作。此時如果某個key對應的資料量特別大的話,就會發生資料傾斜。資料傾斜只會發生在shuffle過程中。常用的並且可能會觸
Mysql效能優化之資料型別優化
一、選擇正確的資料型別對於獲得高效能至關重要 1.1更小的通常更好 佔用更少的磁碟、記憶體和CPU快取 1.2儘量避免null 如果查詢中包含可為null的列,對Mysql來說更難優化,因為可為null的列使得索引、索引統計和值都更復雜。會使用更多的儲存空間. 2、整數和實數
淺談SQL Server資料優化之若干要點
在上篇文章 淺談SQL Server內部執行機制 中,與大家分享了SQL Server內部執行機制,通過上次的分享,相信大家已經能解決如下幾個問題: 1.SQL Server 體系
大資料系列之資料倉庫Hive知識整理(四)Hive的嚴格模式,動態分割槽,排序,事務,調優
1.Hive的嚴格模式Hive提供了一個嚴格模式,可以防止使用者執行那些產生意想不到的不好的影響的查詢。想想看在那麼大的資料量的前提下,如果我們在分割槽上表上使用查詢所有,或是使用了笛卡爾積查詢資料等等不良情況,那得花費我們多少時間和資源成本,Hive在預設情況下會開啟一種模
大資料生態之資料處理框架探索
資料處理框架 資料處理是一個非常寬泛的概念,資料處理框架在資料架構中,主要是用於資料移動和分析這兩大功能當中.對於資料移動,有離線資料移動和實時資料移動,也可以叫做是批量資料移動和流式資料移動.而對於分析這一塊,有離線資料分析和實時資料分析,也可以稱作是批量資料分析和流式資料分析.離線和實時,批量和流式,針對
資料操作之資料的增刪改
插入資料INSERT 1. 插入完整資料(順序插入) 語法一: INSERT INTO 表名(欄位1,欄位2,欄位3…欄位n) VALUES(值1,值2,值3…值n); 語法二: INSERT INTO 表名 VALUES (值1,值2,值3…值n); 2. 指定欄位插入
Pandora資料工廠之資料服務
資料服務 一、背景概述 隨著企業IT建設的快速發展,企業內部系統越來越多,資料分佈也越來越分散。為了實現對各系統大資料傳輸過程的高效、可靠、可監控,以及對整個傳輸過程中的可管理,公司研發設計了一個通用的大資料服務平臺,把原本各個系統之間直接的資料互動抽取出來,通過底層統一的傳
Pandora資料工廠之資料開發
資料開發Leopard概述 資料開發Leopard根據使用者業務需求,對資料進行加工處理、分析與挖掘分析與挖掘(資料分析、資料探勘)等提供資料離線計算分析功能。把使用者設計的資料計算流程轉化為多個相互依賴的任務,供排程系統自動排程執行。 一、資料計算任務流程 二、任
Pandora資料工廠之資料儲存系統架構
資料儲存系統概述 資料儲存系統作為大資料平臺最核心的資料基礎,不再僅是傳統分散的、單一的底層裝置。除了要具備高效能、高安全、高可靠等特徵之外,還要有虛擬化、並行分佈、自動分層、彈性擴充套件、異構資源整合、多樣性等多方面的特點,才能滿足具備大資料特徵的業務應用需求。針對數量的持續增
Pandora資料工廠之資料整合
3 資料整合概述 資料整合系統提供的穩定高效、彈性伸縮的資料同步平臺。致力於異構資料來源之間資料高速穩定的資料移動及同步能力。 一、資料的同步流程圖如下: 二、支援的資料來源型別 文字資料 Text CSV Js
Pandora資料工廠之資料開發流程
資料開發流程 資料開發的總體流程包括原資料、資料採集、資料儲存、資料分析與處理、資料同步和資料視覺化,如下圖所示: 資料來源 業務系統每天會產生大量結構化的資料,這些資料都儲存在業務系統所對應的資料庫中,包括MySQL、Oracle等型別; 資料採集(資
資料倉庫之資料模型
關於資料倉庫的概念,這裡不再累贅。先看下面的圖(資料倉庫建設的7個主要環節): 本文,主要針對第三塊資料倉庫模型設計來討論交流,尤其是網際網路行業。 一、關於資料倉庫資料模型 1. 資料倉庫資料模型是指使用實體、屬性及其關係對企業運營和邏輯規則進行統一的定義、編碼和
Python基礎資料結構之資料轉換(Dict,Set,Tuple,List)
本章是Python基礎資料結構的第六篇,由於之前沒有接觸過太多的Python版本的資料結構,所以在學習的過程中集百家之長和自己的見解,加以實踐,學習Python。 Python中用到tuple的方法,和注意事項都以程式碼的形式體現 #!/usr
自己學Docker:6.Docker的資料持久化之資料卷容器
之前,我瞭解到了Docker的資料卷.知道了資料卷是被設計用來共享和持久化資料的,而且它的生命週期獨立於容器.今天來學習Docker的資料持久化另一種方式–資料卷容器. 掛載資料卷容器 這一次,來了解Docker的另一種資料共享和持久化的方式–資料卷容器
python資料分析之資料視覺化matplotlib
import matplotlib.pyplot as plt import numpy as np import numpy.random as randn import pandas as pd f
利用python進行資料分析之——資料規整化1(ETL)
待我學有所成,結髮與蕊可好。@夏瑾墨 by Jooey 合併資料集 資料庫風格的DataFrame合併 索引上的合併 軸向連線 1.資料庫風格的DataFrame合併 i
前後端資料互動之資料介面(轉)
廢話就不多說了,我們都知道,前端通常會通過後臺提供的介面來獲取資料來完成前端頁面的渲染。 1.前端通過介面呼叫後臺返回的資料 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http
Python資料分析之資料視覺化
資料視覺化是資料分析很重要的一部分,它能幫助我們更好的從繁雜的資料中更直觀更有效的獲取資訊。 matplotlib是用來建立圖表的工具包之一。其目的是為Python構建一個Matlab式的繪圖介面,初次接觸的時候我就感覺這貨跟matlab畫的圖表很相似。雖說其
自己學Docker:5.Docker的資料持久化之資料卷
首先,別忘記之前的兩個問題: 1. 如何儲存我們在容器裡的修改? 2. 如果apt-get如果不能安裝時,如何在Docker中安裝軟體? 刪除容器命令 在此之前,先記一個命令, sudo docker rm ID/NAME 即刪除建立的容器.