Hive資料探勘實戰教程

2021-07-02 21:45:10 字數 2339 閱讀 9380

hive 提供類sql介面處理hdfs上資料,同時提供基於hadoop資料庫訪問,從而降低程式設計師的工作強度,省去了map/reduce的程式設計時間,為快速大資料分析提供了很好手段,下面是基於hive資料分析乙個例項。

1, 環境配置:

hadoop 2.6 + hive + mysql (linux)

搭建步驟可參考相關文件,此處略去。

3, 實戰目標:

目標原始檔為籃球運動分析記錄,通過hive找出每年參賽者最高運動次數並按公升序排列出來,並且找個這個參賽者的id, 資料來源包括多年記錄,總共超過9萬行資料,

4, 解壓檔案找出batting.csv 和master.csv 兩個原始檔,並且上傳到hadoop 的hdfs檔案系統中

5, hive上建立表項並儲存資料原始檔

檢視顯示temp_batting為空表項,

上傳batting.csv資料到temp_batting表項中:

執行完上傳命令後,發現原先hdfs上的batting.csv檔案不見了,資料被導到hive管理路徑中了。

檢視temp_batting表項:

到此資料匯入成功了!

6, 建立新表項batting,把需要分析的列提取出來:

batting表(player_id, year 和runs):建立sql語句:

create table batting (player_id string, year int, runs int);

基於temp_batting表提取資料到batting中:

可以看到啟動map/reduce來做資料提取的任務,最後成功完成,檢視batting中資料如下:

然後找出batting中每年運動次數最高的記錄,並按年公升序排列

啟動map/reduce 任務得到分析結果。

接下來找出每年運動次數最高的參賽者id並輸出,現在需要結合上述結果來得到最後結果, sql命令:

select a.year, a.player_id, a.runs from batting a  

join (select year, max(runs) runs from batting group by year ) b  

on (a.year = b.year and a.runs = b.runs) ;

查驗最後結果:

7,總結:

利用hive分析資料,可以有效使用hadoop集群強大的計算能力,是企業快速部署資料探勘環境的很好選擇。

hive資料探勘

取一台hadoopmaster作為安裝伺服器,先啟動hadoop集群 2.上傳 3.解壓到usr local目錄下,並修改解壓後的目錄名為hive,設定環境變數hadoop home,hive home,將bin目錄加入path中 4.修改hive的配置檔案 1.cp hive default.xm...

資料探勘實戰(三) 資料建模

根據前兩次任務的資料探索結果,進行學習模型的訓練,嘗試多種模型,這些模型暫未調參,後面再補上 y data status x data.drop status axis 1 把資料集拆分成訓練集和測試集 seed 7 test size 0.33 x train,x test,y train,y t...

大資料實戰 Hive 技巧實戰

select address from test where dt 20210218 union all select address from test where dt 20210218 address m a m a m b m b m b m b select address from te...