数据库学习纪要(四):hive-4

来源:互联网 发布:小狐狸 for mac 编辑:程序博客网 时间:2024/06/06 07:21
2.3.创建表格
create table test1 like test; 只是复制了表的结构,并没有复制内容;
create table test2 as select name from test; 从其他表格查询,再创建表格;

举例:建立一张表t_zr9558

CREATE EXTERNAL TABLE t_zr9558 (id INT,ip STRING COMMENT ‘访问者IP’,avg_view_depth DECIMAL5,1),
bounce_rate DECIMAL(6,5)) COMMENT ‘test.com’
PARTITIONED BY (day STRING)ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘,’STORED AS textfile
LOCATION ‘hdfs://cdh5/tmp/zr9558/’;

1)关键字 EXTERNAL:表示该表为外部表,如果不指定EXTERNAL关键字,则表示内部表

2)关键字 COMMENT:为表和列添加注释

3)关键字 PARTITIONED BY:表示该表为分区表,分区字段为day,类型为string

4)关键字 ROW FORMAT DELIMITED:指定表的分隔符,通常后面要与以下关键字连用:

FIELDS TERMINATED BY ‘,’ //指定每行中字段分隔符为逗号

LINES TERMINATED BY ‘\n’ //指定行分隔符

COLLECTION ITEMS TERMINATED BY ‘,’ //指定集合中元素之间的分隔符

MAP KEYS TERMINATED BY ‘:’ //指定数据中 Map 类型的 Key 与 Value 之间的分隔符

5)关键字 STORED AS:指定表在 HDFS 上的文件存储格式,可选的文件存储格式有:
TEXTFILE //文本,默认值
SEQUENCEFILE // 二进制序列文件
RCFILE //列式存储格式文件 Hive0.6 以后开始支持
ORC //列式存储格式文件,比 RCFILE 有更高的压缩比和读写效率,Hive0.11以后开始支持

PARQUET //列出存储格式文件,Hive0.13以后开始支持

6)关键词 LOCATION:指定表在HDFS上的存储位置。

2.4.修改表格
1)alter table shield_fm_feature_item_ctr add columns ( reporttime STRING COMMENT ‘上报日期时间’)//为表格增加列

2)alter table test rename to test2; //修改表名

3)alter table test add partition (day=20160301); //增加分区

4)alter table test drop partition (day=20160301); //删除分区

5)alter table test partition (day=20160301) rename to partition (day=20160302);//修改分区

6)load data local inpath ‘/liguodong/hivedata/datatest’ overwrite into table test; // 从文件加载数据:覆盖原来数据

7)load data local inpath ‘/liguodong/hivedata/datatest’ into table test; // 从文件加载数据:添加数据

8)insert overwrite directory ‘tmp/csl_rule_cfg’ select a.* from test a; // 导出数据到文件


2.5.查询和分析数据

1)dfs -ls /user/hive/warehouse/fm_data.db/shield_fm_feature_item_ctr // 查看 hdfs 文件信息

2)set hive.cli.print.header=true;   //显示列名称

3)set hive.cli.print.header=false; //不显示列名称
原创粉丝点击