Hive中的分区表
来源:互联网 发布:淘宝运营提成多少个点 编辑:程序博客网 时间:2024/05/29 13:11
分区表
创建分区表
CREATE TABLE employees ( name STRING, salary FLOAT, subordinates ARRAY<STRING>, deductions MAP<STRING, FLOAT>, address STRUCT<street:STRING, city:STRING, state:STRING, zip:INT>)PARTITIONED BY (country STRING, state STRING);
分区表的目录结构
没有分区的目录结构:
hdfs://bigdata02:/user/hive/warehouse/db01.db/employees
分区后的目录结构:
hdfs://bigdata02:/user/hive/warehouse/db01.db/employees/country=CH/state=JS
hdfs://bigdata02:/user/hive/warehouse/db01.db/employees/country=AM/state=NY
分区表的优势
当我们需要查询中国江苏的雇员的信息的时候,我们就只需要列出一个目录下的数据就可以了,而不是扫描整个数据进行mapreduce处理,查询数据自然会快很多
分区表的劣势
我们知道对于分区表的每一个分区,都会启动一个map去读取数据,如果分区过于小的话,当我们对整个数据进行操作的时候,就会启动一个巨大的MapReduce任务,而每一个任务可能只是完成很少的一部分数据量的计算,所以我们对分区的划分需要有个度
分区表的信息的查询
hive> SHOW PARTITIONS employees; ...Country=CA/state=AB country=CA/state=BC...SHOW PARTITIONS employees PARTITI〇N(country=,US,);SHOW PARTITIONS employees PARTITION(country='US', state='AK');
向分区表添加数据
LOAD DATA LOCAL INPATH '/home/hadoop/js.employee'INTO TABLE employees PARTITION (country = 'CH', state = 'JS');
外部表和分区表的结合
优势:外部表可以随意指定分区的位置,我们就可以直接为分区表添加分区就可以了
alter table employee add partition (country='CH',state='JS') location 'hdfs://bigdata02:9000/employee/js';
阅读全文
0 0
- hive中的分区表
- Hive中的分区表
- Hive中的分区表
- hive 中的二级分区表和动态分区表
- hive中的内部表、外部表、分区表
- hive 分区表
- Hive分区表
- Hive分区表
- Hive分区表
- hive 分区表
- hive分区表
- hive分区表
- Hive静态分区表&动态分区表
- [Hive]Hive分区表新增字段
- hive sql分区表
- hive创建分区表问题
- hive sql分区表
- hive创建分区表问题
- UDP、TCP、RTP三种协议的总结
- Android---Activity学习总结
- Windows Sockets网络编程(2)TCP select & thread
- Python练习题参考
- 《 降伏其心(一)》
- Hive中的分区表
- 课程设计——LINUX系统下多进程的创建与通信
- Fiddler抓包(设置步骤)
- TCP协议
- iOS中的crash防护(三)KVO造成的crash
- CentOS7(64位)安装NVIDIA显卡驱动和CUDA8.0
- 【Qarth框架系列】单例实现
- centos6.8无法上网解决方法
- LeetCode 213. House Robber II