`

外部表分区添加数据方式代码示例

 
阅读更多

tips
1.
create external table ext_user(id int, mail String, count int) partitioned by (ds string) row format delimited fields terminated by '\t' stored as textfile location '/dsap/rawdata/user';  hdfs location 路径需为文件夹,或不存在(执行后会自动创建文件夹),另 date为保留关键字

2.
hadoop fs -put /work/user.txt /dsap/rawdata/user/20120412/user.txt
hadoop fs -put /work/user.txt /dsap/rawdata/user/20120413/user.txt

hadoop fs -ls /dsap/rawdata/user
drwxr-xr-x   - root supergroup          0 2012-04-13 16:46 /dsap/rawdata/user/20120412
drwxr-xr-x   - root supergroup          0 2012-04-13 16:46 /dsap/rawdata/user/20120413

3.
load data inpath '/dsap/rawdata/user/20120412' overwrite into table ext_user partition (ds='20120412');
load data inpath '/dsap/rawdata/user/20120413' overwrite into table ext_user partition (ds='20120413');


hadoop fs -ls /dsap/rawdata/user
drwxr-xr-x   - root supergroup          0 2012-04-13 16:46 /dsap/rawdata/user/ds=20120412
drwxr-xr-x   - root supergroup          0 2012-04-13 16:46 /dsap/rawdata/user/ds=20120413

alter table ext_user add partition (ds='20120411') location '/dsap/rawdata/user/20120411';

hadoop fs -ls /dsap/rawdata/user
drwxr-xr-x   - root supergroup          0 2012-04-13 17:06 /dsap/rawdata/user/20120411
drwxr-xr-x   - root supergroup          0 2012-04-13 16:46 /dsap/rawdata/user/ds=20120412
drwxr-xr-x   - root supergroup          0 2012-04-13 16:46 /dsap/rawdata/user/ds=20120413

4.
select count(*) from ext_user where ds='20120413';

5.
show partitions ext_user;




only test:

hadoop fs -put /work/user.txt /dsap/rawdata/user/20120415/user.txt
hadoop fs -put /work/user.txt /dsap/rawdata/user/20120416/user.txt
fs -ls
drwxr-xr-x   - root supergroup          0 2012-04-13 17:59 /dsap/rawdata/user/20120415
drwxr-xr-x   - root supergroup          0 2012-04-13 17:59 /dsap/rawdata/user/20120416

then
load data inpath '/dsap/rawdata/user/20120415' overwrite into table ext_user1 partition (ds='20120415');
fs -ls
drwxr-xr-x   - root supergroup          0 2012-04-13 18:02 /dsap/rawdata/user/20120416
drwxr-xr-x   - root supergroup          0 2012-04-13 17:59 /dsap/rawdata/user/ds=20120415   (20120415->ds=20120415)

do a tricky test:
load data inpath '/dsap/rawdata/user/ds=20120415' overwrite into table ext_user1 partition (ds='ds=20120415');
fs -ls
drwxr-xr-x   - root supergroup          0 2012-04-13 18:02 /dsap/rawdata/user/20120416
drwxr-xr-x   - root supergroup          0 2012-04-13 17:59 /dsap/rawdata/user/ds=ds%3D20120415 (ds=20120415->ds=ds%3D20120415)

hadoop fs -mv /dsap/rawdata/user/ds=ds%3D20120415 /dsap/rawdata/user/20120415
load data inpath '/dsap/rawdata/user/20120415' overwrite into table ext_user1 partition (ds='test');
drwxr-xr-x   - root supergroup          0 2012-04-13 17:59 /dsap/rawdata/user/ds=test
conclusion:  load data inpath 分区时候会使hdfs路径修改, mv 原路径 partition(分区=值)的形式

alter table ext_user1 add partition (ds=20120416) location '/dsap/rawdata/user/20120416';
drwxr-xr-x   - root supergroup          0 2012-04-13 18:02 /dsap/rawdata/user/20120416 路径不变
tricky one
hadoop fs -put /work/user.txt /dsap/rawdata/user/20120417/user.txt
alter table ext_user1 add partition (ds='ok') location '/dsap/rawdata/user/20120417';
drwxr-xr-x   - root supergroup          0 2012-04-13 18:19 /dsap/rawdata/user/20120417  路径不变

conclusion alter table add partition(分区=值) location ''; 不改变hdfs路径

分享到:
评论

相关推荐

    Java开发技术大全(500个源代码).

    代码范例列表 第1章 示例描述:本章演示如何开始使用JDK进行程序的开发。 HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载...

    Microsoft_SQL_Server_2005技术内幕:T-SQL查询.pdf

     步骤3:添加外部行(Outer Row)  步骤4:应用WHERE筛选器  步骤5:分组  步骤6:应用CUBE或ROLLUP选项  步骤7:应用HAVING筛选器  步骤8:处理SELECT列表  步骤9:应用DISTINCT子句  步骤10:应用ORDER ...

    JAVA上百实例源码以及开源项目源代码

    util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以...

    MySQL5.1参考手册官方简体中文版

    3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有...

    MySQL 5.1中文手冊

    3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有...

    MySQL 5.1参考手册 (中文版)

    3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有...

    mysql官方中文参考手册

    3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有...

    MYSQL中文手册

    3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 ...

    MySQL 5.1参考手册中文版

    3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 ...

    MySQL 5.1参考手册

    3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有...

    MySQL 5.1官方简体中文参考手册

    3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 3/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 3.5. 在批处理...

    Oracle_Database_11g完全参考手册.part3/3

    第28章 使用外部表 第29章 使用闪回查询 第30章 闪问:表和数据 第31章 SQL重放 第Ⅳ部分 PL/SQL 第32章 PL/SQL简介 第33章 应用程序在线升级 第34章 应用程序在线升级 第35章 过程、函数与程序包 第36章 使用本地...

    Oracle_Database_11g完全参考手册.part2/3

    第28章 使用外部表 第29章 使用闪回查询 第30章 闪问:表和数据 第31章 SQL重放 第Ⅳ部分 PL/SQL 第32章 PL/SQL简介 第33章 应用程序在线升级 第34章 应用程序在线升级 第35章 过程、函数与程序包 第36章 使用本地...

    mysql5.1中文手册

    将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:...

Global site tag (gtag.js) - Google Analytics