1. 程式人生 > >[Hive] 建表create table和載入資料load data

[Hive] 建表create table和載入資料load data

1. 執行查詢時顯示錶頭資訊

Hive> set hive.cli.print.header=true;

2. 在命令列中顯示當前所在的資料庫

Hive> set hive.cli.print.current.db=true;

3. 建表

Hive> create table test_1(id int, name string, pid int, price int) 
ROW FORMAT delimited fields terminated by '\t'
stored as textfile ;

stored as指定檔案的儲存格式,Hive中提供兩種檔案格式:SEQUENCEFILE

TEXTFILE,序列檔案是一種壓縮的格式,通常可以提供更高的效能。
如果檔案資料是純文字,可以使用 stored as textFile,預設也是 textFile 格式。

4. 載入資料

load data local inpath '/home/username/test1.txt' into table test1;
# 關鍵字[LOCAL]是指你載入檔案的來源為本地檔案,否則根據 inpath 中的 uri 查詢檔案即hdfs的檔案。

load data inpath '/user/username/databasename/user_log_1/*' into table user_log_1;
# 根據 inpath 中的 uri 查詢檔案(hdfs的檔案)

例項

DROP TABLE IF EXISTS user_log_1;
CREATE TABLE user_log_1 (
  dt STRING,
  pos STRING,
  sku STRING
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

LOAD DATA INPATH '/user/username/databasename/user_log_1/*' INTO TABLE user_log_1;