hiveQL分区表

标签: hiveql 分区表 | 发表时间:2013-11-07 21:25 | 作者:u011984824
出处:http://blog.csdn.net

1、分区表的创建

hive> create table part (str string)

    > partitioned by (data string);
OK
Time taken: 0.158 seconds

2、加载数据时显示指定分区值
hive> load data local inpath 'file1'
    > into table part
    > partition (data='2013-11-7');
Copying data from file:/home/grid/hive-0.11.0/file1
Copying file: file:/home/grid/hive-0.11.0/file1
Loading data to table default.part partition (data=2013-11-7)
Partition default.part{data=2013-11-7} stats: [num_files: 1, num_rows: 0, total_size: 0, raw_data_size: 0]
Table default.part stats: [num_partitions: 1, num_files: 1, num_rows: 0, total_size: 0, raw_data_size: 0]
OK
Time taken: 0.649 seconds
hive> load data local inpath 'file2'              
    > into table part
    >  partition (data='2013-11-8');
Copying data from file:/home/grid/hive-0.11.0/file2
Copying file: file:/home/grid/hive-0.11.0/file2
Loading data to table default.part partition (data=2013-11-8)
Partition default.part{data=2013-11-8} stats: [num_files: 1, num_rows: 0, total_size: 0, raw_data_size: 0]
Table default.part stats: [num_partitions: 2, num_files: 2, num_rows: 0, total_size: 0, raw_data_size: 0]
OK
Time taken: 0.499 seconds

3、查看文件系统的存储方式

[grid@h1 hive-0.11.0]$ hadoop dfs -ls /user/hive/warehouse/part
Found 2 items
drwxr-xr-x   - grid supergroup          0 2013-08-29 08:19 /user/hive/warehouse/part/data=2013-11-7
drwxr-xr-x   - grid supergroup          0 2013-08-29 08:19 /user/hive/warehouse/part/data=2013-11-8
[grid@h1 hive-0.11.0]$ hadoop dfs -ls /user/hive/warehouse/part/data=2013-11-7
Found 1 items
-rw-r--r--   2 grid supergroup          0 2013-08-29 08:19 /user/hive/warehouse/part/data=2013-11-7/file1
[grid@h1 hive-0.11.0]$ hadoop dfs -ls /user/hive/warehouse/part/data=2013-11-8
Found 1 items
-rw-r--r--   2 grid supergroup          0 2013-08-29 08:19 /user/hive/warehouse/part/data=2013-11-8/file2
[grid@h1 hive-0.11.0]$

4、show partitions 可以查看表的分区
hive> show partitions part;
OK
data=2013-11-7
data=2013-11-8
Time taken: 0.119 seconds, Fetched: 2 row(s)
hive>

注意:partitioned by 子句中定义的列,数据文件中并不包含这些列值。

5、select 使用分区列查询,hive会对输入做修剪
hive> select str from part where data='2013-11-7';
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_201308281304_0010, Tracking URL = http://h1:50030/jobdetails.jsp?jobid=job_201308281304_0010
Kill Command = /home/grid/hadoop-1.2.1/libexec/../bin/hadoop job  -kill job_201308281304_0010
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0
2013-08-29 08:30:27,427 Stage-1 map = 0%,  reduce = 0%
2013-08-29 08:30:28,445 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.32 sec
2013-08-29 08:30:29,452 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 0.32 sec
MapReduce Total cumulative CPU time: 320 msec
Ended Job = job_201308281304_0010
MapReduce Jobs Launched:
Job 0: Map: 1   Cumulative CPU: 0.32 sec   HDFS Read: 225 HDFS Write: 11 SUCCESS
Total MapReduce CPU Time Spent: 320 msec
OK
file1 test
Time taken: 5.553 seconds, Fetched: 1 row(s)




作者:u011984824 发表于2013-11-7 13:25:38 原文链接
阅读:81 评论:0 查看评论

相关 [hiveql 分区表] 推荐:

hiveQL分区表

- - CSDN博客云计算推荐文章
2、加载数据时显示指定分区值. 4、show partitions 可以查看表的分区. 注意:partitioned by 子句中定义的列,数据文件中并不包含这些列值. 5、select 使用分区列查询,hive会对输入做修剪;. 作者:u011984824 发表于2013-11-7 13:25:38 原文链接.

HiveQL介绍

- - 互联网 - ITeye博客
Hive支持原子和复杂数据类型. 原子数据类型包括数值型、布尔型和字符串类型,其中数值型有int / bigint / smallint / tinyint /double / float,布尔型为boolean,字符串类型为string. 复杂数据类型包括数组(Array)、集合(Map)和结构(Struct).

hiveQL学习和hive常用操作

- - 数据库 - ITeye博客
Hive外壳环境是可以使用hive命令来运行的一项服务. service选项指明要使用哪种服务. 键入hive-servicehelp可以获得可用服务.    Hive的命令行接口(外壳环境).     让Hive以提供Trift服务的服务器形式运行,允许用不同语言编写的客户端进. 使用Thrift,  JDBC和ODBC连接器的客户端需要运行Hive服务器来.

Hadoop Hive sql语法详解5--HiveQL与SQL区别

- - SQL - 编程语言 - ITeye博客
1.hive内联支持什么格式. 3.hive中empty是否为null. 4.hive是否支持插入现有表或则分区中. 5.hive是否支持INSERT INTO 表 values(). 1、Hive不支持等值连接 . •SQL中对两表内联可以写成:. •分号是SQL语句结束标记,在HiveQL中也是,但是在HiveQL中,对分号的识别没有那么智慧,例如:.

GUID分区表的学习

- 蛋布丁 - 标点符
先说说目前广泛使用的磁盘分区表方案. 传统的分区方案(称为MBR分区方案)是将分区信息保存到磁盘的第一个扇区(MBR扇区)中的64个字节中,每个分区项占用16个字节,这16个字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)等内容.

什么是Oracle的分区表?

- - CSDN博客数据库推荐文章
    假设我们现在正在酝酿经营一家图书馆,最初,我们只有十本书提供给大家来阅读和购买. 对于十本书而言,我们可能只需要一个书架格子将其作为保存这十本书的容器就足够了,因为任何一个人都可以很轻松的扫一眼就可以将这十本书的书名大概记住,并且挑选出合适自己的书籍来看.     但是随着我们书籍越来越多,我们需要更大的容器来保存我们的科教类、IT类、历史类、人文类等等书籍,大家都知道的一个生活常识就是,我们肯定不能够将所有类型的书籍都扔到一个书架容器上摆着,最科学的,就是分区,将不同的书籍放到不同的地方去,这样,假如我们在西安五路口的新华书店,那么就只需要跑到四楼的IT分区,去找相关的IT书籍.

Oracle分区表的使用和管理

- - CSDN博客数据库推荐文章
Oracle分区表的使用和管理.          在某些场合会使用非常大的表,比如人口信息统计表. 如果一个表很大,就会降低查询的速度,并增加管理的难度. 一旦发生磁盘损坏,可能整个表的数据就会丢失,恢复比较困难. 根据这一情况,可以创建分区表,把一个大表分成几个区(小段),对数据的操作和管理都可以针对分区进行,这样就可以提高数据库的运行效率.

Oracle分区表及分区索引

- - Oracle - 数据库 - ITeye博客
分区表的几种分类:. 1、Range(范围)分区. 是应用范围比较广的表分区方式,它是以列的值的范围来做为分区的划分条件,将记录存放到列值所在的. 比如按照时间划分,2012 年1 季度的数据放到a 分区,12年2 季度的数据放到b分区,. 因此在创建的时候呢,需要你指定基于的列,以及分区的范围值,如果某些记录暂无法预测范围,.

分区表场景下的 SQL 优化

- - IT瘾-dev
有个表做了分区,每天一个分区. 该表上有个查询,经常只查询表中某一天数据,但每次都几乎要扫描整个分区的所有数据,有什么办法进行优化吗. 有一个大表,每天产生的数据量约100万,所以就采用表分区方案,每天一个分区. 该表上经常发生下面的慢查询:. 想要优化一个SQL,一般来说就是先看执行计划,观察 是否尽可能用到索引,同时要关注 预计扫描的行数,以及 是否产生了临时表(Using temporary) 或者  是否需要进行排序(Using filesort),想办法消除这些情况.