當我們用【MaxCompute】的時候坪仇,我們在用什么杂腰?

、MaxCompute是什么椅文?

????MaxCompute(原ODPS喂很,Open Data Processing Service)是一項大數(shù)據(jù)計算服務(wù)惜颇,它能提供快速、完全托管的PB級數(shù)據(jù)倉庫解決方案少辣。主要提供了四大功能:數(shù)據(jù)通道凌摄、結(jié)構(gòu)化存儲、多計算模型漓帅、數(shù)據(jù)安全管理锨亏。

1.數(shù)據(jù)通道

  • 批量/歷史數(shù)據(jù)通道--tunnel

? ? ?適合于全量數(shù)據(jù)或歷史數(shù)據(jù)的導入、導出忙干;

  • 實時/增量數(shù)據(jù)通道--DataHub

????? 該服務(wù)具有延遲低的特點器予,適合增量數(shù)據(jù)的導入,同時還支持多種數(shù)據(jù)傳輸?shù)牟寮杵龋鏻ogstash乾翔、flume、fluentd施戴、sqoop反浓、logservice等。

2.數(shù)據(jù)存儲

  • 數(shù)據(jù)進入maxcompute后赞哗,默認會以結(jié)構(gòu)化的方式存儲雷则,且有自己的數(shù)據(jù)類型,如Bigint, Boolean, Double, Datetime, String, Decimal懈玻;

  • 數(shù)據(jù)上傳后巧婶,以列壓縮的方式存儲到盤古上。這種壓縮方式的好處就是對于文本類型的數(shù)據(jù)涂乌,一般都能取得較好的壓縮比,一般是4:1英岭。

3.多計算模型

??1)SQL

  • MaxCompute SQL采用標準的SQL語法湾盒,兼容部分Hive語法。在語法上和HQL非常接近诅妹,熟悉SQL或HQL的編程人員都容易上手罚勾;

  • MaxCompute提供更高效的計算框架支持SQL計算模型,執(zhí)行效率比普通的MapReduce模型更高吭狡;

  • 需要注意的是尖殃,MaxCompute SQL不支持事務(wù)、索引及Update/Delete等操作划煮。

??2)MapReduce

  • MaxCompute提供的Java MapReduce編程模型送丰;

  • 由于MaxCompute并沒有開放文件接口,用戶只能通過它所提供的Table讀寫數(shù)據(jù)弛秋;

  • 更為重要的是器躏,MaxCompute還提供了基于MapReduce的擴展計算模型俐载, 即MR2。在該模型下登失,一個Map函數(shù)后遏佣,可以接入連續(xù)多個Reduce函數(shù)。

? 3)Graph

  • 對于某些復雜的迭代計算場景揽浙,例如:K-Means状婶,PageRank等,如果仍然使用MapReduce來完成這些計算任務(wù)將是非常耗時的馅巷。MaxCompute提供的Graph模型能夠非常好的完成這一類計算任務(wù)膛虫。


、飛天系統(tǒng)和Hadoop生態(tài)圈架構(gòu)對比

vs


三令杈、MaxCompute優(yōu)化原則

1.選表原則

  • 選擇滿足需求的小表走敌,比如匯總表。維表盡量選擇全量表逗噩,事實表盡量選擇增量表掉丽;

  • 選擇產(chǎn)出早的表;

  • 選擇可回滾的表异雁,比如使用加購事件表代替加購全流程表捶障;

  • 依賴的N個上游表,盡量保證上游產(chǎn)出時間要均勻纲刀,如果有差異项炼,考慮換依賴表;

2.小表原則

  • 行數(shù)小于100萬的表認為是小表示绊,這個時候使用mapjoin性能會提高很多锭部;

  • 讀取數(shù)據(jù)的時候要加上分區(qū)等過濾條件,大表變小表面褐。常用過濾條件字段拌禾,做成動態(tài)分區(qū),方便下游過濾展哭;

  • 不得不讀取N天大表的時候湃窍,使用unionall方式合并多天數(shù)據(jù);

3.代碼原則

  • Join關(guān)聯(lián)要盡可能是主鍵關(guān)聯(lián)匪傍。關(guān)聯(lián)字段類型要一致您市;

  • 多天匯總,先生成1天輕度匯總表役衡,多天使用1天數(shù)據(jù)再匯總茵休;

  • multiinsert,實現(xiàn)一次讀取多次寫入;

  • 使用系統(tǒng)UDF代替自己的寫的UDF泽篮;

4.調(diào)度原則

  • 依賴max_pt的盗尸,要排除當天依賴;

  • 上游是小時任務(wù)帽撑,使用max_pt要慎重泼各;

  • 執(zhí)行超過1個小時任務(wù)要關(guān)注;

亏拉、MaxCompute應(yīng)用限制

1.SQL限制

  • 多路輸出限制:單個SQL里最多可以寫128路輸出扣蜻,超過128路報語法錯誤;

  • 動態(tài)輸出分區(qū)限制:任意動態(tài)分區(qū)SQL不允許生成超過2000個動態(tài)分區(qū)及塘,否則引發(fā)運行時異常莽使;

  • Select屏顯限制:Select屏顯結(jié)果最多只有10000條輸出;

  • Order by語句后必須接Limit笙僚;

  • Sort By必須與Distribute By配合使用芳肌;

  • 最多允許128路union all,超過此限制報語法錯誤肋层;

  • MaxCompute 的JOIN支持多路間接亿笤,但不支持笛卡爾積,即無on條件的鏈接栋猖;

  • MaxCompute中的Join連接條件净薛,只允許and連接的等值條件,并且最多支持16路join操作蒲拉。只有在MAPJOIN中肃拜,可以使用不等值連接或者使用or連接多個條件;

  • 目前MaxCompute 在mapjoin中最多支持指定6張小表雌团,否則報語法錯誤燃领;

  • 如果使用mapjoin,則所有小表占用的內(nèi)存總和不得超過512MB锦援。請注意由于MaxCompute 是壓縮存儲柿菩,因此小表在被加載到內(nèi)存后,數(shù)據(jù)大小會急劇膨脹雨涛。此處的512MB限制是加載到內(nèi)存后的空間大小懦胞;

  • 多個表join時替久,最左邊的兩個表不能同時是mapjoin的表;

2.MapReduce限制

  • 單個任務(wù)引用的資源數(shù)量不超過512個躏尉,分區(qū)表按照一個單位計算蚯根。

  • 單個任務(wù)引用的資源總計字節(jié)數(shù)大小不超過64MB。

  • 單個任務(wù)的輸入路數(shù)不能超過128,單個任務(wù)的輸出路數(shù)不能超過128路颅拦。

  • 單個任務(wù)中自定義Counter的數(shù)量不能超過64蒂誉。

  • 單個Map或Reduce Worker占用memory默認為2048MB,范圍[256MB, 12GB]距帅。

  • 單個Map或Reduce Worker重復讀一個資源次數(shù)限制 <=64次右锨。

  • 本地運行模式下,Map Worker個數(shù)不能超過100碌秸;Reduce Worker個數(shù)不能超過100绍移;默認一路輸入下載記錄數(shù)100。



以上


ps:這篇文章是基于我從工作中由hadoop切換到maxcompute時讥电,搜集整理的一些內(nèi)容蹂窖,希望能幫助到需要的同學。如果覺得不錯恩敌,歡迎收藏分享~


還有其他感興趣的文章可以進入公眾號主頁瞬测,點擊【菜單】即可:



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市纠炮,隨后出現(xiàn)的幾起案子月趟,更是在濱河造成了極大的恐慌,老刑警劉巖抗碰,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狮斗,死亡現(xiàn)場離奇詭異,居然都是意外死亡弧蝇,警方通過查閱死者的電腦和手機碳褒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來看疗,“玉大人沙峻,你說我怎么就攤上這事×椒迹” “怎么了摔寨?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長怖辆。 經(jīng)常有香客問我是复,道長,這世上最難降的妖魔是什么竖螃? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任淑廊,我火速辦了婚禮,結(jié)果婚禮上特咆,老公的妹妹穿的比我還像新娘季惩。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布画拾。 她就那樣靜靜地躺著啥繁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪青抛。 梳的紋絲不亂的頭發(fā)上旗闽,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音脂凶,去河邊找鬼宪睹。 笑死,一個胖子當著我的面吹牛蚕钦,可吹牛的內(nèi)容都是我干的亭病。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嘶居,長吁一口氣:“原來是場噩夢啊……” “哼罪帖!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起邮屁,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤整袁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后佑吝,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坐昙,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年芋忿,在試婚紗的時候發(fā)現(xiàn)自己被綠了炸客。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡戈钢,死狀恐怖痹仙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情殉了,我是刑警寧澤开仰,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站薪铜,受9級特大地震影響众弓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜隔箍,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一田轧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鞍恢,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蟆炊,卻和暖如春稽莉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背涩搓。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工污秆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人昧甘。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓良拼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親充边。 傳聞我的和親對象是個殘疾皇子庸推,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容