- Hive產(chǎn)生背景
- Hive概述
- HIve體系架構(gòu)
- Hive部署架構(gòu)
- Hive和RDBMS區(qū)別
- Hive部署以及快速入門(mén)
- HIve DDL詳解
- Hive DML詳解
- MapReduce編程的不便性
- 傳統(tǒng)RDBMS人員的需求
- 由Facebook開(kāi)源剂买,用于解決海量結(jié)構(gòu)化日志的數(shù)據(jù)統(tǒng)計(jì)問(wèn)題
- 構(gòu)建在Hadoop之上的數(shù)據(jù)倉(cāng)庫(kù)(Hive的數(shù)據(jù)存放在HDFS之上瞬哼,可以通過(guò)MapReduce計(jì)算,并且提交到Y(jié)ARN上運(yùn)行)
- Hive提供的SQL查詢(xún)語(yǔ)言:HQL
- 底層支持多種不同的執(zhí)行引擎(MR / Tez / Spark)
為什么要使用Hive
- 簡(jiǎn)單坐慰,容易上手
- 為超大數(shù)據(jù)集設(shè)計(jì)的計(jì)算/擴(kuò)展能力
- 統(tǒng)一的元數(shù)據(jù)管理 (Hive數(shù)據(jù)是存放在HDFS上讨越,元數(shù)據(jù)信息是存放在MySQL中)
Command-line shell: 命令行
Thrift/JDBC:server/client WebUI(HUE/Zeppelin 一組WEB應(yīng)用把跨,用于和MRS大數(shù)據(jù)組件進(jìn)行交互)
MetaStore:元數(shù)據(jù)管理
----- database:name沼死、location、owner
----- table:name意蛀、location、owner秀姐、column若贮、name/type
Diver:
主要用于離線處理
- 下載
- 解壓
- 添加HIVE_HOME到系統(tǒng)環(huán)境變量
- 修改配置 hive-env.sh hive-site.xml(元數(shù)據(jù)存儲(chǔ)的地方)
- 拷貝MySQL驅(qū)動(dòng)包到$HIVE_HOME/lib
- 前提是要安裝一個(gè)MySQL數(shù)據(jù)庫(kù)
-
Hive Data Definition Laanguage
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL
HIve數(shù)據(jù)抽象/結(jié)構(gòu)
database HDFS一個(gè)目錄
===table HDFS一個(gè)目錄
=====data 文件
=====partition 分區(qū)表
=========bucket 分桶
CREATE [REMOTE] (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path]
[MANAGEDLOCATION hdfs_path]
[WITH DBPROPERTIES (property_name=property_value, ...)];
/user/hive/warehouse是Hive默認(rèn)的存儲(chǔ)在HDFS上的路徑
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] [INPUTFORMAT 'inputformat' SERDE 'serde'] (3.0 or later)
LOACL: 本地系統(tǒng)蠢沿,如果沒(méi)有l(wèi)ocal就指的是HDFS路徑
OVERWRITE:數(shù)據(jù)覆蓋,如果沒(méi)有就是追加