1.分区表
分区表实际上就是对应一个HDFS文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。
Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过WHERE子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。
1.1 分区表基本操作
1.1.1 创建分区表语法(需要根据日期对日志进行管理)
hive (default)> create table dept_partition(
deptno int,
dname string,
loc string
)
partitioned by (month string)
row format delimited fields terminated by '\t';
1.1.2 加载数据到分区表中
hive (default)> load data local inpath '/opt/module/datas/dept.txt' into table default.dept_partition partition(month='201805');
hive (default)> load data local inpath '/opt/module/datas/dept.txt' into table default.dept_partition partition(month='201806');
hive (default)> load data local inpath '/opt/module/datas/dept.txt' into table default.dept_partition partition(month='201807’);
hive (default)> load data local inpath '/opt/module/datas/dept.txt' into table default.dept_partition partition(month='201808’);
1.1.3 加载数据到分区表

// 单分区查询
hive (default)> select * from dept_partition where month='201805';
// 多分区联合查询
hive (default)> select * from dept_partition where month='201805'
> union
> select * from dept_partition where month='201806'
> union
> select * from dept_partition where month='201807’;
_u3.deptno _u3.dname _u3.loc _u3.month
10 ACCOUNTING 1700 201805
10 ACCOUNTING 1700 201806
10 ACCOUNTING 1700 201807
20 RESEARCH&n