1. 程式人生 > 其它 >011.hive建立表、新增表註釋、檢視函式用法、載入資料到hive表

011.hive建立表、新增表註釋、檢視函式用法、載入資料到hive表

show databases;
show tables;
系統自帶的函式
    1)檢視系統自帶的函式
        hive> show functions;
    2)顯示自帶的函式的用法
        hive> desc function upper;
    3)詳細顯示自帶的函式的用法
        hive> desc function extended upper;
use qhtest;
-- 建立表
create table qhtest.S_test_table (id int, name string, age int) row format delimited fields terminated by
',' lines terminated by '\n' stored as parquetfile; -- 建立表 表結構一致,沒有資料 create table if not exists ioczxk_s.S_LS_GZW_sgyzctjxx108800 like iocgjk.O_LS_GZW_sgyzctjxx108800; -- 建立表 表結構一致,複製資料,分割槽表複製過去後變成欄位 create table user_table1 as table_2; -- 建立表指定儲存格式 create table if not exists qhtest.S_test_table ( id
int , name string , age int ) row format delimited fields terminated by ',' lines terminated by '\n' stored as parquetfile; -- 插入資料 -- 刪除表 drop table qhtest.S_test_table; -- 查看錶型別 desc formatted qhtest.S_test_table; -- 清空表 truncate table qhtest.S_test_table; 檔案載入到hive表中 上傳檔案到hdfs hdfs dfs -put test_data.txt /
user/qh_test_hive/; hdfs載入到hive表 test_data.txt load data local inpath '/opt/qh_ioc/test_data.txt' overwrite into table qhtest.S_test_table; load命令詳解: ================================= 1、load本地資料 //相當於上傳或者複製,原始檔不變 load data local inpath '/home/centos/employee.txt' into table employee; 2load hdfs資料 load data inpath '/duowan_user.txt' into table duowan; //相當於移動 3、load本地資料 + 覆蓋原始資料 load data local inpath '/home/centos/employee.txt' overwrite into table employee; 4load hdfs資料 + 覆蓋原始資料 load data inpath '/duowan_user.txt' overwrite into table duowan; describe 表名; 表的詳細資訊

建立分割槽表

-- 添加註釋
create table tb_test
(
    id varchar(100) comment '使用者id',  -- 使用者id
    age varchar(100) comment '年齡' -- 年齡
) PARTITIONED BY (occur_period  string) row format delimited fields terminated by '\001'  lines terminated by '\n' stored as parquetfile comment '測試表';

注意:欄位分隔符和 儲存格式指定只能在hive下使用,spark客戶端不支援,會報錯

Error: org.apache.spark.sql.catalyst.parser.ParseException:
Operation not allowed: ROW FORMAT DELIMITED is only compatible with 'textfile', not 'rcfile'(line 1, pos 0)

spark 不為 parquet檔案提供DELIMITERS。

禁止 ROW FORMAT 和 STORED AS (parquet | orc | avro etc.)

https://blog.csdn.net/zhangshenghang/article/details/102459033/

hive下

-- 按月occur_period_month建立分割槽表 分割槽欄位不能出現在表字段中
create table mydb.tb_test(
rid int COMMENT '行id'
,id varchar(100) comment '使用者id'  
,age varchar(100) comment '年齡'  
,creat_time string comment '建立時間'
)PARTITIONED BY (occur_period string)  
row format delimited fields terminated by '\001' lines terminated by '\n' stored as parquetfile;
-- 新增表註釋

ALTER TABLE mydb.tb_test  SET TBLPROPERTIES ('comment' = '測試表');