精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

大數據開發之路:hive篇,你看了嗎?

大數據
大數據開發之路漫漫其修遠兮,吾將上下而求索。很多入門大數據的小伙伴,可能接觸到的,就是一只可愛的“小象”,也就是我們的大數據領域的數據倉庫工具hive。

引語

大數據開發之路漫漫其修遠兮,吾將上下而求索。很多入門大數據的小伙伴,可能接觸到的,就是一只可愛的“小象”,也就是我們的大數據領域的數據倉庫工具hive。

這只小象給我們提供了方便類SQL查詢語言HQL來操縱數據,使得我們一開始不用編寫復雜的代碼,就可以輕松的探索數據。Hive對于熟悉傳統數據庫的同學來說,算是很友好的一個入門工具。

原理

在大數據生態中,hive一般作為數據倉庫來使用。什么是數據倉庫呢? 簡單來說就像一個大糧倉,里邊堆著各種各樣的糧食,比如小麥、玉米、土豆、大米等等。數據倉庫里是一個數據集合體,把不同數據源按照一定的形式集合統一起來。 Hive本身是不做數據存儲的,它是構建在分布式存儲系統HDFS之上,我們平常看到的表數據其實本質上來說還是HDFS的文件。 Hive把這些HDFS數據文件,通過元數據規則映射為數據庫的表,并且可以提供SQL操作的功能。 Hive總體結構比較簡單,下方是整體的hive架構圖,我們可以看到,總體有三個組件:用戶接口、元數據系統、驅動器。

大數據開發之路:hive篇,你看了嗎?

用戶通過用戶接口來輸入操作指令。一般接口有三種形式:

  • CLI端:一般在linux服務器直接輸入hive即可進入;
  • WEB模式:通過命令bin/hive --service hwi啟動,默認訪問9999端口;
  • 遠程模式:一般是JDBC之類的編程接口;

Hive的核心在于驅動器,一般驅動器接收到用戶接口傳遞的一條SQL之后,會進行下面的一系列操作:

  • 驅動器開始進行語法和語義分析
  • 生成邏輯計劃并且邏輯優化
  • 生成物理計劃
  • 發送計劃到執行引擎(常用引擎有mapredue和sprk)執行

結果返回

而元數據系統一般傳統數據庫來承載,主要記錄了包括hive表的名字,表的列和分區及其屬性,表的屬性(是否為外部表等),表的數據所在目錄等。

常用hive語法

了解了hive的基礎原理之后呢,我們這里結合工作中一些需求,來介紹下開發同學常用的hive操作。

分組統計

作為一名SQL仔,經常會要去統計一些奇奇怪怪的指標,比如不同年齡段的UV,下單數的小時分布之類的。一般常用的分組就是group by了,然后配合上一些窗口函數, SUM、AVG、MIN、MAX、COUNT等,就可以實現我們很多統計需求了。比如下邊的統計時間段的獨立用戶數,查詢結果如下圖所示:

大數據開發之路:hive篇,你看了嗎?

關聯查詢

有時候我們查詢的數據存放在不同的表中,那關聯查詢就派上用場了。所謂關聯查詢,一般就是通過兩張表相同的字段值關聯起來,同時查詢兩張表的記錄。Hive中常用關聯分內外關聯。

我們先建立兩張簡單的表tab_a和tab_b,用實例來說明關聯機制。表結構和表數據如下圖所示:

大數據開發之路:hive篇,你看了嗎?

內關聯一般使用 關鍵字Join或inner join ,內關聯只返回關聯上的結果。

外關聯的形式就比較多樣化了,又分為:

  • 左外關聯:關鍵字為left [outer] join,以前邊的表為主表,返回記錄數和主表記錄一致,關聯不上的字段為null;
  • 右外關聯:關鍵字為right [outer] join,和左外關聯相反,則是以后邊的表為主表。
  • 全外關聯:full [outer] join,返回兩個表的去重之和,關聯不上的字段為null。

行列轉換

有時候我們會遇到這樣的需求,需要把多列的數據平鋪到一行上輸出。比如查詢用戶的訪問軌跡,這時候有兩個函數就起上作用了。還是讓我們先來看看效果。

大數據開發之路:hive篇,你看了嗎?

這兩個sql的作用都是把每個用戶的點擊軌跡拼接暫展示出來,其中collect_set和collect_set能夠把列數據合并,轉為一行。而兩個的區別就是collect_set會進行去重。

上述講的是行轉列,還有些需求,希望我們能把列數據拆分成多行,比如數據結構如下,

Page_id StringAd_id Array

  • A[1,2,3]
  • B[3,5,6]
  • C[2,4,5]

要統計每個廣告在所有頁面出現的次數,這時候,我們可以先把同一列的數據線拆成多行,hive提供了explode展開函數,具體效果如下圖:

大數據開發之路:hive篇,你看了嗎?

Explode一般配合lateral view使用,把字段內容鋪開成虛擬視圖。接下來我們再這個基礎之上,就可以使用統計函數來進行分析。

大數據開發之路:hive篇,你看了嗎?

取TopN記錄

給數據分組排序再取前幾條記錄,也是我們較為常見的需求。hive提供了row_number函數,可以對排序值進行編號。舉個栗子,要取省份的溫度較高的城市,數據如下:

  • 省份城市溫度
  • 廣東佛山34
  • 廣東廣州30
  • 江西贛州31
  • 江西南昌28
  • 江西萍鄉29
  • 湖南長沙26
  • 湖南衡陽25

我們可以使用row_number()組合group by的形式,來進行組內排序,并且返回順序值rank。

結果如下圖所示:

大數據開發之路:hive篇,你看了嗎?

此時,如果要去top1的數據,只需添加rank為1的條件即可。和row_number功能和用法類似的函數還有rank()和dense_rank(),區別在返回的排序rank值有細微區別,此處不再贅述。

Hive進階

數據傾斜

在我們數據清洗過程中,經常會出現一種現象,分布式任務一般會分成多個小任務task,但是呢,有些task處理的很快,有些task就很慢,有時候甚至會卡死導致整個任務失敗,這種現象就是惡名遠揚的數據傾斜。之所以導致數據傾斜,大部分是join、去重統計(count distinct)或者group by操作中的key分布不均勻。拿最常見的hive查詢引擎mapreduce來說,基本就是shuffle階段,有些reduce任務獲取到的key數據量十分多,導致處理很緩慢。

為了避免數據傾斜,一般從兩種方向去解決:

1.調整hive參數

我們可以設置hive.map.aggr和hive.groupby.skewindata兩個參數為true,此時hive會生成兩個job任務,job先將key進行隨機化處理,第二個job在進行真正的shuffle key。如下流程說明圖:

大數據開發之路:hive篇,你看了嗎?

從上圖可以看出,由于多次在map端聚合,使得最終shuffle時的數據量大大減少,從而減輕了數據傾斜的程度。

2.優化SQL

使用mapJoin:我們經常會有大小表join的需求,而這也是數據傾斜的多發區。此時我們可以使用mapJoin的方式,從而避免shuffle。具體實現就是把小表在每一個Map任務內存中保存一份,從而直接在Map就進行join操作。沒了reduce過程,自然也避免了數據傾斜。在hive0.11版本之前,需要顯示聲明啟動該優化操作,如下示例SQL所示:Select /+ MAPJOIN(small_tab)/ .key,value FROM small_tab JOIN big_tab ON small_tab.key = big_tab.key 而在hive0.11版本之后,hive能夠自動檢測小表,自行進行mapJoin優化。我們可以通過hive.mapjoin.smalltable.filesize參數手動配置小表的閾值(默認值25M)。使用MapJoin有一個缺點在于內存會浪費,因為每個Map端都有一個副本。所以mapJoin也一般只適合大小表join的情況。

異常值、特殊值手動處理:很多時候造成數據傾斜的可能是一些空值或者,字符串導致的。我們可以通過過濾空值或者對空值做隨機字符串處理,由此避免空值的影響。

如果是大表和大表的join產生了數據傾斜,mapJoin這種方式不太合適,但是在某些場景下,其中一個大表可以被處理成小表。比如,我們要查詢單日訪客瀏覽記錄,并需要附加用戶信息。這時候要和用戶大表user_info關聯,而單日訪客記錄量user_flow也比較大,并不能直接使用mapjoin的方式。但仔細分析,單日訪客UV其實并不大,可以先進行簡單去重,轉換為小表進而可以使用mapJoin。

具體SQL如下所示:

  1. select /+mapjoin(x)/ from user_flow a left outer join (select /+mapjoin(c)/d. from ( select distinct user_id from user_flow )c join user_info d on c.user_id = d.user_id) x on a.user_id = b.user_id; 

優勢和不足

Hive目前作為業內使用最為廣泛的數據倉庫工具,自然有著很多優點: 高可靠、容錯性高、擴展性強。

HQL語法和傳統SQL類似,且內置大量處理函數支持的存儲格式種類多,兼容性強。用戶接口多,支持各種形式的調用。但是hive也有它自身的一些不足,比如:

OLTP支持不足,不支持事務,目前只有比較新的版本才可以實現行列級別更新且對格式要求嚴格。

由于HDFS特性數據處理延遲高效率較低。HQL的表達能力和靈活性方面有限。基于這些優缺點,hive有它自身擅長的領域,比如用作離線數據倉庫,批量處理海量數據。如果要追求實時性或者要高效率處理小量數據,目前來看,其他新的技術方案,比如kudu、hbase等或許是更好的選擇。

 

責任編輯:未麗燕 來源: 阿里云棲社區
相關推薦

2021-03-19 07:59:33

紅黑樹面試數據

2016-10-13 19:31:56

大數據應用大數據

2024-07-11 08:29:57

大數據.NET工具

2023-01-08 13:12:57

論文

2013-01-28 16:51:45

2017-01-18 10:46:59

騰訊

2015-06-24 16:03:24

大數據.SAS

2021-04-15 09:37:05

大數據Maven

2019-03-10 16:21:05

大數據深度學習人工智能

2014-10-11 11:23:30

2011-07-08 10:18:09

海量數據數據挖掘

2014-02-12 09:22:28

大數據

2013-08-02 09:56:59

大數據

2009-05-25 10:18:29

PHPLAMPGLAMMP

2021-10-31 20:07:49

Windows驅動開發

2022-03-14 22:51:25

大數據IT企業

2017-01-23 20:04:29

2021-12-01 23:13:55

安卓手機魅族

2012-07-25 09:28:10

大數據
點贊
收藏

51CTO技術棧公眾號

欧美日韩国产网站| 91丨porny丨在线中文 | 欧美大片xxxx| 综合欧美亚洲| 色婷婷亚洲一区二区三区| 视频在线观看成人| 国产a级免费视频| 久久精品欧洲| 蜜臀久久99精品久久久久久宅男| 亚洲av永久无码精品| 在线一区视频观看| 亚洲自拍偷拍网站| 亚洲欧美日产图| 午夜福利理论片在线观看| 六月丁香婷婷久久| 欧美孕妇性xx| 日本三级午夜理伦三级三| 精品国产一级毛片| 亚洲国产精品一区二区久| 精品综合久久久久| 偷拍视频一区二区三区| 亚洲午夜私人影院| 亚洲区成人777777精品| 成a人v在线播放| 成人av在线资源网| 亚洲永久免费观看| 最近中文字幕在线视频| 成年人免费高清视频| 亚洲电影影音先锋| 亚洲日韩中文字幕| 捆绑裸体绳奴bdsm亚洲| 日韩高清一区| 欧美一区二区在线不卡| 一区二区xxx| 国产欧美一区二区三区精品酒店| 亚洲第一成人在线| 一级性生活视频| 国产秀色在线www免费观看| 国产色婷婷亚洲99精品小说| 久久99精品国产一区二区三区| 国产欧美日韩成人| 九九热在线视频观看这里只有精品 | www国产视频| 999精品视频在这里| 欧美一区二区三区视频在线 | 最近更新的2019中文字幕| 精品人妻少妇嫩草av无码| 九色丨蝌蚪丨成人| 亚洲国产成人久久| 麻豆精品国产传媒av| 国产成人精品亚洲线观看| 精品少妇一区二区三区在线视频| 一级片免费在线观看视频| 麻豆国产一区| 欧美电影免费提供在线观看| 欧美人与性动交α欧美精品| 亚洲视频一起| 亚洲福利视频二区| 亚洲第一黄色网址| 免费精品在线视频| 爱福利在线视频| 一区二区成人在线视频| 影音先锋成人资源网站| 免费电影网站在线视频观看福利| 亚洲日本在线天堂| 路边理发店露脸熟妇泻火| 最近中文字幕免费mv2018在线| 亚洲欧美一区二区三区极速播放| 久久久久亚洲av无码专区喷水| 国内精品久久久久久野外| 亚洲色大成网站www久久九九| 在线观看福利一区| 粗大黑人巨茎大战欧美成人| 一区二区三区欧美日韩| www..com日韩| 美女福利一区二区三区| 欧美视频完全免费看| www.com操| 精品国产不卡一区二区| 在线视频综合导航| 日本人69视频| 97青娱国产盛宴精品视频| 日韩精品在线观看一区二区| 91资源在线播放| 综合国产在线| 午夜精品理论片| 天天综合久久综合| 国产精品123| 免费电影一区| 日本不卡不卡| 偷窥少妇高潮呻吟av久久免费| 成年人在线看片| 国产亚洲字幕| 精品亚洲永久免费精品| 美女视频久久久| 99视频在线精品国自产拍免费观看| 日韩免费av片在线观看| a在线观看视频| 99久久精品国产观看| 亚洲一区二区三区加勒比| free性欧美16hd| 欧美精品粉嫩高潮一区二区| 你懂的在线观看网站| 日本道不卡免费一区| 欧美激情免费观看| 中文字幕日韩三级| 99国产精品久久久久久久久久| 伊人久久大香线蕉午夜av| 日本乱码一区二区三区不卡| 欧美精品日日鲁夜夜添| 麻豆国产精品一区| 中文字幕一区二区三区久久网站| 国产精彩精品视频| 成人免费视频国产免费麻豆| 国产精品成人一区二区三区夜夜夜 | 午夜精品久久久久久久久| 999精彩视频| 日韩三级毛片| 欧美激情国产精品| 91成品人影院| 国产网站一区二区三区| 久操网在线观看| 9999精品| 日韩在线视频网站| 精人妻无码一区二区三区| 成人免费观看视频| 污污污污污污www网站免费| 秋霞国产精品| 亚洲美女中文字幕| 福利一区二区三区四区| 国产成人超碰人人澡人人澡| 成人短视频在线| 久久久久久久久久久久电影| 亚洲美女av电影| 久久精品免费在线| 国产精品一区免费视频| 亚洲一卡二卡三卡| 成人1区2区| 一本色道久久88精品综合| 亚洲 欧美 视频| 成人免费视频网站在线观看| 人妻无码一区二区三区四区| 精品视频一区二区三区| 久久精品久久精品亚洲人| 中文字幕日本人妻久久久免费| 国产校园另类小说区| 国产v亚洲v天堂无码久久久| 尤物tv在线精品| 人人澡人人澡人人看欧美| 四虎精品在永久在线观看| 亚洲免费在线视频| 亚洲精品乱码久久久久久动漫| 国产精品久久久久蜜臀| 91亚洲精品久久久久久久久久久久| 午夜视频在线看| 欧美精品18+| 欧美极品视频在线观看| 丁香五精品蜜臀久久久久99网站| 人妻激情另类乱人伦人妻| eeuss国产一区二区三区四区| 欧美大片免费看| 国精产品一品二品国精品69xx| 亚洲国产精品久久人人爱蜜臀| 久久久高清视频| 国产精品毛片在线看| 欧美日韩系列| 国产精品久久久久77777丨| 日韩资源在线观看| 亚洲AV无码乱码国产精品牛牛 | 日本免费在线一区| 久久久极品av| 噜噜噜久久,亚洲精品国产品| 图片区日韩欧美亚洲| jizz中文字幕| 激情久久五月天| 国产精品久久..4399| 久久不见久久见中文字幕免费| 国产精品旅馆在线| 日本中文字幕视频在线| 日韩欧美高清dvd碟片| 国产成人愉拍精品久久| 国产欧美一区二区在线观看| 亚洲天堂2018av| 国语精品一区| 日本免费高清不卡| 国产乱码精品一区二区三区亚洲人 | 夜鲁夜鲁夜鲁视频在线播放| 中文字幕亚洲综合久久| 亚洲av色香蕉一区二区三区| 色哟哟在线观看一区二区三区| 欧美乱大交做爰xxxⅹ小说| 国产成人8x视频一区二区| 欧美色图另类小说| 亚洲视频在线免费| 免费精品视频一区二区三区| 久久久久久久性潮| 性色av香蕉一区二区| 成人免费一区二区三区视频网站| 日韩欧美一级二级三级久久久| 日韩在线播放中文字幕| 亚洲精品高清在线| 免费人成又黄又爽又色| 国产盗摄女厕一区二区三区| 热久久精品国产| 黑人一区二区三区四区五区| 日韩亚洲视频在线| 盗摄系列偷拍视频精品tp| 国产精品视频1区| 国产高清中文字幕在线| 俺也去精品视频在线观看| 天堂网www中文在线| 日韩欧美国产麻豆| 久久精品国产亚洲av麻豆蜜芽| 亚洲国产精品一区二区www在线| 香蕉成人在线视频| 久久伊人蜜桃av一区二区| 日韩大尺度视频| 国产资源在线一区| 我要看一级黄色大片| 国产欧美不卡| 欧美a级免费视频| 天天做天天爱天天综合网2021| 欧美日韩精品免费观看| 精品日产乱码久久久久久仙踪林| 成人在线播放av| 成人精品三级| 国产成人亚洲综合91| 日韩电影毛片| 性色av一区二区三区免费| 日日夜夜天天综合入口| 久久精品男人天堂| 亚洲图片88| 在线观看视频99| freemovies性欧美| 亚洲人午夜色婷婷| 日本一区高清| 亚洲国产天堂网精品网站| 亚洲国产剧情在线观看| 欧美一级高清片| 国产日本精品视频| 在线不卡的av| 国产伦理一区二区| 777a∨成人精品桃花网| 最新中文字幕免费| 欧美在线高清视频| 中文字幕+乱码+中文乱码91| 欧洲国内综合视频| 久久久久精彩视频| 欧美视频完全免费看| 一级黄色免费看| 欧美另类高清zo欧美| 一区二区国产欧美| 666欧美在线视频| 国产视频在线一区| 欧美成人性福生活免费看| 亚洲精品一级片| 亚洲国产91色在线| 日韩美女一级视频| 国产一区二区三区高清在线观看| 国产九九在线| 日韩资源在线观看| 色在线视频网| 91国内在线视频| 天天免费亚洲黑人免费| 国产精品日日做人人爱 | 国产精品亚洲不卡a| 日本一区精品视频| 国产一区再线| 国产精品欧美三级在线观看| 亚洲精品在线观看免费| 一区二区三区毛片免费| 久久这里只有精品18| 国产欧美午夜| 午夜视频你懂的| 国产精品一区免费视频| 可以直接看的无码av| 亚洲国产激情av| 草视频在线观看| 欧美日韩免费在线| 伊人久久国产精品| 欧美videossexotv100| 青青草av免费在线观看| 日韩中文字幕视频在线| 日本成人不卡| 国产99视频精品免视看7| 四虎精品一区二区免费| 国产久一道中文一区| 欧美精选一区二区三区| 国风产精品一区二区| 亚洲欧美日本视频在线观看| 三级av免费观看| 成人福利视频在线看| 粉嫩精品久久99综合一区| 一区2区3区在线看| www.亚洲激情| 亚洲第一区在线| 在线a免费看| 26uuu另类亚洲欧美日本一| 日韩五码电影| 久久伊人一区二区| 欧美福利在线| 天天影视综合色| 成人丝袜视频网| 美女av免费看| 丁香五六月婷婷久久激情| 国产人妻精品一区二区三区| 国产视频精品xxxx| 天堂成人av| 国产日韩精品电影| 啪啪亚洲精品| 丝袜人妻一区二区三区| 久久99精品一区二区三区| 在线免费观看成年人视频| 亚洲乱码一区二区三区在线观看| 香蕉污视频在线观看| 亚洲级视频在线观看免费1级| 免费黄网站在线播放| 日本精品视频在线播放| 丁香5月婷婷久久| 日本xxx免费| 捆绑调教美女网站视频一区| 国产精品815.cc红桃| 亚洲国产人成综合网站| 国产人妻精品一区二区三| 色诱女教师一区二区三区| 成人私拍视频| 精品视频一区在线| 最新亚洲视频| 奇米777在线| 综合中文字幕亚洲| 91久久精品国产91性色69| 国产亚洲视频在线观看| 超碰国产一区| 美脚丝袜一区二区三区在线观看| 狠狠色丁香久久综合频道| 精品人妻一区二区三| 亚洲人成伊人成综合网小说| 国产又粗又猛又黄又爽| 中文字幕亚洲精品| 精品三级在线| 午夜免费电影一区在线观看| 日韩精品国产欧美| 欧美 日韩 国产 成人 在线观看| 日韩欧美国产免费播放| 欧美视频综合| 日本久久久a级免费| 久久99精品久久久久久园产越南| 免费看的黄色大片| 91免费版在线| 无码人妻久久一区二区三区不卡| 亚洲嫩模很污视频| 成人性教育av免费网址| 欧美日韩国产综合在线| 日日骚欧美日韩| 国产一二三四区在线| 欧美日韩久久久久久| 黄色av免费在线| 91情侣在线视频| 精品动漫3d一区二区三区免费版| 四虎精品一区二区| 欧美日韩一区免费| 国产精品四虎| 成人免费福利在线| 欧美1区免费| 国模私拍在线观看| 欧美特级www| av电影在线播放高清免费观看| 国产欧美日韩视频| 自拍偷拍欧美专区| 中文字幕一区二区久久人妻网站 | 亚洲人吸女人奶水| 精品久久久久中文慕人妻| 久久久久久久久久久国产| 亚洲春色h网| 亚洲精品久久久久久宅男| 亚洲欧美日韩国产成人精品影院| 精品国精品国产自在久不卡| 国内成人精品一区| 欧美精选一区二区三区| www激情五月| 午夜一区二区三区在线观看| 日本1级在线| 成人免费激情视频| 亚洲精品乱码| 日韩不卡av在线| 欧美不卡一区二区三区| 最近高清中文在线字幕在线观看1| 日韩亚洲欧美精品| 成人黄色av网站在线| 9i精品福利一区二区三区| 久久久精品在线观看| 欧美在线导航| 久久久久xxxx| 色综合天天综合狠狠| 超碰porn在线| 日韩国产精品一区二区| 国产精品小仙女| 自拍偷拍第八页| 久久男人资源视频| 国产精品成人av|