Hadoop基礎 13 Hive實戰

2022-04-09 12:05:34 字數 3172 閱讀 6079

原始碼見:

帶有external關鍵字的就是外部表

不然一般都是內部表(managed_table)

create external table emp_external(

empno int,

ename string,

job string,

mgr int,

hiredate timestamp,

sal decimal(7,2),

comm decimal(7,2),

deptno int)

row format delimited fields terminated by "\t"

location '/hive/emp_external';

內部表

外部表內部表資料由hive自身管理

外部表資料由hdfs管理;

內部表資料儲存的位置是hive.metastore.warehouse.dir

(預設:/user/hive/warehouse),

外部表資料的儲存位置由自己制定(如果沒有location

hive將在hdfs上的/user/hive/warehouse資料夾下以外部表的表名建立乙個資料夾,

並將屬於這個表的資料存放在這裡);

刪除內部表會直接刪除元資料(metadata)及儲存(hdfs)資料;

刪除外部表僅僅會刪除元資料,hdfs上的檔案並不會被刪除;

對內部表的修改會將修改直接同步給元資料

而對外部表的表結構和分割槽進行修改,則需要修復(msck repair table table_name;)

hive 中的表對應為 hdfs 上的指定目錄,在查詢資料時候,缺省會對全表進行掃瞄,這樣時間和效能的消耗都非常大。

分割槽為 hdfs 上表目錄的子目錄,資料按照分割槽儲存在子目錄中。如果查詢的where字句的中包含分割槽條件,則直接從該分割槽去查詢,而不是掃瞄整個表目錄,合理的分割槽設計可以極大提高查詢速度和效能。

crontab表示式進行排程

load data inpath 'hdfs://hadoop000:8020/project/input/etl/part-r-00000' overwrite into table trackinfo partition(day='2013-07-21');

[hadoop@hadoop000 data]$ hadoop fs -ls /project/trackinfo

found 1 items

drwxr-xr-x - hadoop supergroup 0 2020-09-09 22:45 /project/trackinfo/day=2013-07-21

[hadoop@hadoop000 data]$

統計 pv

城市統計

省份臨時統計表

create external table trackinfo_province(

province string,

cnt bigint

)partitioned by (day string)

row format delimited fields terminated by "\t"

location '/project/trackinfo/province';

insert overwrite table trackinfo_province partition(day='2013-07-21')

select province , count (*) as cnt from trackinfo where day ='2013-07-21' group by province;

select * from trackinfo_province where day='2013-07-21';

然後用sqoop匯入到rdms裡面

etl將etl加入到trackinfo裡面

然後講統計結果按照分割槽一次匯入到各個表中

再把資料匯入關聯式資料庫裡面

上述過程可以封裝起來然後用crontab/azkaban直接執行即可

hadoop之hadoop基礎介紹

hadoop是什麼?是乙個分布式基礎架構,主要解決海量資料儲存以及資料分析計算問題。hadoop三大發行版本?apache clourdera hortonworks hadoop優勢?高可靠 高擴充套件 高效 高容錯 hadoop1.x和2.x的區別?hdfs hadoop distributed...

hadoop 開發基礎

目錄 rz的使用 vi 快捷鍵 檔案許可權的操作 配置免密碼登陸 後台服務管理 iptable 防火牆 linux 中的軟體安裝 本地yum安裝倉庫配置 檔案上傳到linux 是上傳到當前目錄所在的資料夾 yum list grep lrzsz sudo yum y install lrzsz.x8...

Hadoop基礎概念

狹義 hadoop軟體 hadoop.apache.org 廣義 hadoop生態圈 hive zookeeper spark 用2.x 3.x 需要踩坑 主要用cdh5.x 部署大資料環境 用的是 hadoop2.6.0 cdh5.7.0 ctrl f 搜尋 cdh5.7.0 hdfs 儲存 分布...