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; 2、load hdfs數據 load data inpath '/duowan_user.txt' into table duowan; //相當於移動 3、load本地數據 + 覆蓋原始數據 load data local inpath '/home/centos/employee.txt' overwrite into table employee; 4、load 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' = '測試表');