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' = '測試表');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM