大資料分析 Hadoop Hive

2021-10-08 15:36:25 字數 3116 閱讀 5117

商業驅動力

案例優化業務風險

銷售、**、利潤率、效率

識別業務風險

客戶流失、欺詐、違約

**新的商業機會

增值銷售、追加銷售、最佳的潛在新客戶

遵守法律或法規要求

反洗錢、公平信貸

cd /etc/ 表示進入/etc這個目錄中

cd …/ 表示返回上一級目錄

cd 進入當前使用者的家目錄

su - 使用者名稱:切換使用者

ls:列出目錄下的檔案

ll:列出目錄下的檔案

ifconfig:檢視網絡卡的配置資訊

mkdir:新建乙個目錄/資料夾

touch:新建乙個檔案

vim:檔案編輯器

一般模式

插入模式

命令模式

rm -rf 檔案:刪除檔案/目錄

1>快速認識hadoop

2> hadoop生態圈概覽

3>hadoop的組成

hadoop主要組成:分布式儲存hdfs、分布式計算mapreduce、資源排程引擎yarn

4>mapreduce:分布式計算框架

1>hive是什麼?

hive

rdbms

查詢語言

hqlsql

資料儲存

hdfs

raw device or local fs專門資料盤或本地的檔案系統

執行mapreduce

excutor執行器

執行延遲高低

處理資料規模大小

索引0.8版本後加入位圖索引

有複雜的索引

內部表和外部表的區別

目前所建立的表都是所謂的管理表,有時也被稱為內部表,因為這種表,hive會(或多或少地)控制著資料的生命週期。當刪除乙個管理表時,hive也會刪除這個表中資料,管理表不方便和其他工作共享資料。

關於分割槽表

hive中有分割槽表的概念,我們可以看到分割槽具重要效能優勢,分割槽表可以將資料以一種符合邏輯的方式進行組織,比如分層儲存。查詢分割槽表中的資料時,除非where語句中包含分割槽字段過濾條件來顯示資料範圍,否則不允許執行。換句話說,就是使用者不允許掃瞄所

有的分割槽。進行這個限制的原因是,通常分割槽表都擁有非常大的資料集,而且資料增加迅速。如果沒有進行分割槽限制的查詢可能會消耗令人不可接受的巨大資源來處理這個表。

truncate table employee;

分割槽表分別有靜態分割槽和動態分割槽,那麼它們有什麼區別呢?

靜態分割槽與動態分割槽的主要區別在於靜態分割槽是手動指定,而動態分割槽是通過資料來進行判斷。靜態分割槽的列是在編譯時期,通過使用者傳遞列名來決定的;動態分割槽是在sql執行的時候確定的。

靜態分割槽

create table test

(name string,age int)

partitioned by (country string)

row format delimited fields terminated by 『\t』

lines terminated by 『\n』

stored as textfile;

向分割槽表中插入資料

insert into table test partition(country=「china」)

values(「zhangsan」,1);

insert into table test partition(country=「usa」)

values(「james」,34);

insert into table test partition(country=「usa」)

values(「tom」,2);

查詢分割槽表的資料

select * from test where country=「china」;

刪除分割槽

alter table test drop partition(country=「china」);

動態分割槽

set hive.exec.dynamic.partition=true;(可通過這個語句檢視:set

hive.exec.dynamic.partition;)

set hive.exec.dynamic.partition.mode=nonstrict;

set hive.exec.max.dynamic.partitions=100000;(如果自動分割槽數

大於這個引數,將會報錯)

set hive.exec.max.dynamic.partitions.pernode=100000;

顯示分割槽數

show partitions order_part;

查詢分割槽表中的資料

select * from user_trade limit 6;這樣會報錯,因為沒有加分割槽條

件。嚴格模式:

set hive.mapred.mode=strict;

select * from user_trade limit 6;

select * from user_trade where dt=『2017-01-12』;

資料的匯入和匯出

1.從本地匯入到表中

load data local inpath 『本地路徑』 overwrite into table

sogou [partition(partcol1=val1,…)];

2.從hdfs匯入到表中

load data inpath 『hdfs上的路徑』 into table 表名

[partition(partcol1=val1,…)];

3.將hive表中的資料匯出到本地

insert overwrite local directory 『本地路徑』 查詢語句;

4.將hive表中的資料匯出到hdfs

insert overwrite directory 『hdfs路徑』 查詢語句;

大資料分析工具

新 指數 清博大資料 新 指數 www.gsdata.cn 是新 大資料第一平台,為運營新 利器 現已開通賬號分鐘級監測服務,打擊粉絲造假賬號,支援使用者自主監測新 資料 定製各類榜單,並提供資料api等各類增值服務。資料視覺化工具 cytoscape 圖表秀 資料觀 微博足跡視覺化 bdp個人版 ...

大資料分析流程

愛資料學院 welcome 一 為什麼要做乙份資料報告 你是乙個工作了一段時間的白領,你覺得現在這份工作不適合你,你下班以後去逛知乎,在上面看到很多人在說大資料代表未來,資料分析師是21世紀最 的十大職業之一 你激動了,你也要成為資料分析師,你利用空餘時間補上了統計知識,學了分析工具,然後發現自己目...

大資料分析框架

spark 是在 hadoop 的基礎上進行了一些架構上的改良。spark 與hadoop 最大的不同點在於,hadoop 使用硬碟來儲存資料,而spark 使用記憶體來儲存資料,因此 spark 可以提供超過 ha?doop 100 倍的運算速度。由於記憶體斷電後會丟失資料,spark不能用於處理...