Hive學習筆記(1)

Hive學習筆記

筆記內容主要來自Hive編程指南

基礎操作

Hive內部都有什麼

  • $HIVE_HOME/lib 目錄下有 jar文件
  • $HIVE_HOME/bin 目錄下包含可執行文件,包括hive命令行界面(CLI)
  • Hive 還有一些組件。Thrift服務提供了可遠程訪問其他進程的功能,也提供使用 JDBC和ODBC 訪問 Hive的功能。這些都是基於Thrift服務實現的。
  • 所有的Hive客戶端都需要一個metastoreservice(元數據服務) ,Hve使用這個服務來存儲表模式信息和其他元數據信息。默認是 使用Derby SQL。生產環境需要切換到 MySQL或者 其他關係型數據庫。
  • Hive提供了一個簡單的Hive網頁界面(HWI) , 提供了遠程訪問Hive的服務。
  • conf目錄下存放了Hive的配置文件。

Hive命令

bin/hive –help
hive命令

hive服務
hive而服務

hive命名空間
hive命名空間

hive中”一次使用命令”

hive -e "SELECT * FROM mytable LIMIT 3";
hive -S -e "SELECT * FROM mytable LIMIT 3";#靜默模式

從文件中執行hive查詢

hive -f /mypath/test.hql;

hiverc文件

hive -i ...#i選項允許用戶指定一個文件,當cli啓動時,提提示符出現前會先執行這個文件。Hive會自動在Home目錄下尋找名爲.hiverc的文件。(如果有這個文件的話)

hive cli 更多介紹
- 自動補全功能
- 查看操作命令歷史(存放位置:$HOME/.hivehistory)
- 執行shell命令 ! 命令前加 感嘆號
- hive內使用Hadoop的dfs命令
- Hive 腳本中註釋用 - -
- 顯示字段名稱 hive.cli.print.header=true


數據類型和文件格式

基本數據類型

基本數據類型

集合數據類型

集合數據類型

文本文件數據編碼

默認的記錄和字段分隔符
這裏寫圖片描述

指定分隔符:

CREATE TABLE employees(
    name STRING,
    salary FLOAT,
    subordinates ARRAY<STRING>,
    deductions MAP<STRING,FLOAT>,
    address STRUCT<street:STRING,city:STRING,state:STRING,zip:INT>
)
ROW FORMAT DELIMITED
FILEDS TERMINATED BY '\001'
COLLECTION ITEMS TERMINATED BY '\002',
MAP KEYS TERMINATED BY '\003',
LINES TERMINATED BY '\N'
STORED AS TEXTFILE;

ROW FORMAT DELIMITED 這組關鍵詞必須要寫在其他子句(除了 STORED AS…子句)之前。

自定義分割 簡單示例(逗號分割字段):

CREATE TABLE some_data(
    first FLOAT,
    second FLOAT,
    third FLOAT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章