什麼是hive?
基於hadoop的資料倉儲解決方案
將結構化的資料檔案對映為資料庫表
提供類sql的查詢語言hql(hive query language)
hive讓更多的人使用hadoop
hive成為apache頂級專案
hive始於2023年的facebook
官網:hive.apache.org
hive的優勢和特點
提供了乙個簡單的優化模型
hql類sql語法,簡化mr開發
支援在不同的計算框架上執行
支援在hdfs和hbase上臨時查詢資料
支援使用者自定義函式、格式
成熟的jdbc和odbc驅動程式,用於etl和bi
穩定可靠(真實生產環境)的批處理
有龐大活躍的社群
hive元資料管理
記錄資料倉儲中模型的定義、各層級間的對映關係
儲存在關聯式資料庫中
預設derby, 輕量級內嵌sql資料庫
derby非常適合測試和演示
儲存在.metastore_db目錄中
實際生產一般儲存在mysql中
修改配置檔案hive-site.xml
hcatalog
將hive元資料共享給其他應用程式
hive inte***ce - 命令視窗模式
有兩種工具:beeline和hive命令列(cli)
有兩種模式:命令列模式和互動模式
命令列模式
互動模式
兩種啟動方式
需要先啟動hadoop 和zookeeper
第一次安裝完 要:
alter database hive character set latin1;
hive啟動
新開 hive
beeline啟動
nohup hive --service hiveserver2 &
beeline -u jdbc:hive2://localhost:10000
資料庫(database)
表的集合,hdfs中表現為乙個資料夾
預設在hive.metastore.warehouse.dir屬性目錄下
如果沒有指定資料庫,預設使用default資料庫
create database if not exists myhivebook;
use myhivebook;
show databases;
describe database default
;--more details than 』show』, such as location
alter database myhivebook set owner user dayongd;
drop database if exists myhivebook cascade;
顯示當前所在資料庫:
select current_database();
資料表:
分為內部表和外部表
內部表(管理表)
hdfs中為所屬資料庫目錄下的子資料夾
資料完全由hive管理,刪除表(元資料)會刪除資料
外部表(external tables)
資料儲存在指定位置的hdfs路徑中
hive不完全管理資料,刪除表(元資料)不會刪除資料
面試題hive內部表和外部表概念?區別?最適合的應用場景?
內部表:看名字,限於內部使用。
刪除內部表時,表的元資料和資料都會被刪除。
外部表:看名字,可以外部共享。
刪除外部表時,表的元資料會被刪除,但是資料不會被刪除。
外部表誤刪後的恢復:
建立乙個新錶指定到(location 資料路徑)這個位置,那麼資料就會恢復。資料路徑例如』/hive/external_table/』。
舉例:每天收集到的**資料,需要做大量的統計資料分析,所以在資料來源上可以使用外部表進行儲存,方便資料的共享,在做統計分析時候用到的中間表,結果表可以使用內部表,因為這些資料不需要共享,使用內部表更為合適。
Hive知識之Hive基礎
5 hive的基本操作 5.2 資料表相關操作 6 資料的匯入和匯出 1 hive簡介 2 hive與傳統關係型資料庫的比較 專案hive rdbms 查詢語言 hqlsql 資料儲存 hdfs raw device or local fs 執行mapreduce excuter 執行延遲高低 處理...
Hive知識點總結(一)
眾所周知實際開發過程中,hive主要是通過其豐富的內建函式,便捷的類sql來處理經過mapreduce清洗後的資料,下面我們進行hive的知識點總結。1 hive使用方式 方式1 學習時使用的最基本的簡單查詢 bin hive 啟動hive hive select from t test 進行簡單使...
Hive使用入門
先介紹一些基本的命令 1 進入hive命令列,這種方式進入之後,操作結果展示時帶有執行mapreduce的除錯資訊 hive service cli 等同於直接輸入hive 2 進入hive命令列靜默模式,不輸出除錯資訊 hive s 靜默模式 3 檢視表資訊,檢視函式資訊,檢視表字段資訊,每一條h...