MapReduce输出的数据在实际应用中会加载在不同子目录下,比如按照日期、地区等,然后统一到外部表,这就需要用到hive表的分区。

假设输出的数据放在/tmp/fjs/dpi父目录下,下面分别有三个类型的数据作为子目录保存,分别是/tmp/fjs/dpi/adsl、/tmp/fjs/dpi/3g、/tmp/fjs/dpi/4g,具体分区如下:

Hive表:tmp_fjs_dpi

1) 建表脚本:

设置分区为DPI类型,分别是adsl、3g、4g

CREATE EXTERNAL TABLE`tmp_fjs_dpi`(

`account` string,

`date` string,

`city` string,

`domain` string,

`para` string,

`value` string)

PARTITIONED BY (

`dpitype` string)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY '|'

STORED AS INPUTFORMAT

'org.apache.hadoop.mapred.TextInputFormat'

OUTPUTFORMAT

'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'

LOCATION

'hdfs://nameservice-ha/tmp/fjs/dpi';

2)分区脚本:

查看分区:show partitionstmp_fjs_dpi;

增加分区:

alter table tmp_fjs_dpiadd partition (dpitype ='adsl') location 'adsl';

alter table tmp_fjs_dpiadd partition (dpitype ='3g') location '3g';

alter table tmp_fjs_dpiadd partition (dpitype ='4g') location '4g';

删除分区:

alter table tmp_fjs_dpidrop partition (dpitype ='4g');

3)查询结果:

select count(*) fromtmp_fjs_dpi where dpitype='adsl';

结果:92564960

select count(*) fromtmp_fjs_dpi where dpitype='3g';

结果:636277

select count(*) fromtmp_fjs_dpi where dpitype='4g';

结果:3828847

select para, count(*)from tmp_fjs_dpi group by para;

结果:

imei    97030084

MapReduce基础开发之七Hive外部表分区相关推荐

  1. Hive 外部表关联分区数据

    0. 说明 已经安装好Hadoop和hive环境,hive把元数据存储在mysql数据库.这里仅讨论外部表和HDFS的关联,并且删掉外部表之后,对HDFS上的文件没有影响. 1. 在HDFS创建分区, ...

  2. hive 外部表不支持添加列

    hive 外部表不支持添加列 其实在之前我也不知道,在官网上面也没有看到 在操作的时候才发现的 alter table hbase_fct_mcht_item_day add columns(avg_ ...

  3. Hive 外部表的练习(多表关联查询,以及分组,子查询)

    Hive 外部表的练习 hive创建库和表操作 hive加载数据,4种发放 1.数据放在Linux创建表结构 进行加载 2.先定义表结构.将一个查询select语句结果插入到表中 3.数据先放在hdf ...

  4. MapReduce基础开发之三字段处理并输出Hive表

    1.MR设计和开发    1)设计:      输入:用户名 | 数字ip | 时间戳 |  url      MR处理:正则表达式匹配url,满足则解析url并转换ip和时间戳,      输出:用 ...

  5. tablesample oracle,Hive DDL 内部表外部表 分区 分桶 行格式 存储文件格式 概述

    创建数据库 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] ...

  6. hive外部表改为内部表_hive内部表外部表介绍

    未被external修饰的是内部表(managed table),被external修饰的为外部表(external table): 区别: 内部表数据由Hive自身管理,外部表数据由HDFS管理: ...

  7. hive修改 表/分区语句

    参考 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable% ...

  8. hive外部表/内部表路径知识点

    1.hive创建外部表或者管理表是指定的位置信息是数据路径: create external table location '/user/externalhive/location/dir' 这里只定 ...

  9. hive外部表改为内部表_3000字揭秘Greenplum的外部数据加载——外部表

    外部表是greenplum的一种数据表,它与普通表不同的地方是:外部表是用来访问存储在greenplum数据库之外的数据.如普通表一样,可使用SQL对外部表进行查询和插入操作.外部表主要用于Green ...

最新文章

  1. 学了那么多年设计模式依然不会用!那可真蠢!
  2. React中如何优雅的捕捉事件错误
  3. Web安全之代码执行漏洞
  4. C/C++将十进制数转为二进制并输出
  5. Elasticsearch中如何进行日期(数值)范围查询
  6. linux cut性能,Linux cut
  7. arch linux 安装xfce_树莓派安装ArchLinux+桌面环境
  8. Git学习总结(3)——代码托管平台简介
  9. 数据迁移期间进程命令
  10. Codeforces123E. Maze【树形dp】【概率dp】【证明题】
  11. 【深度学习概念】感受野
  12. 从初级晋级高级UI设计师学习路线+全套视频
  13. win10下WAMP Server安装
  14. 轨迹绕圈算法_基于三次B样条曲线拟合的智能车轨迹跟踪算法
  15. html 完整性验证,验证消息完整性的方法是() - 问答库
  16. 大疆19年校招0804笔试A卷
  17. 51Nod 1631 小鲨鱼在51Nod小学 【 扫描线 】
  18. csgo为什么显示vac无法连接服务器,《csgo》vac无法验证游戏会话怎么解决 vac无法验证游戏会话解决方法介绍...
  19. SAP FICO 财务成本知识
  20. jQuery 利用键盘上下键移动表格内容

热门文章

  1. python exe运行报 编码错误_python运行显示编码错误
  2. mac brew 安装_无用技能之 Mac 安装relion 步骤
  3. 华视电子读卡器web开发_业界动态:华视电子官方微信公众号电子书架正式上线...
  4. IIS7.5 安全配置研究(推荐)
  5. History命令用法
  6. 数组 字符串的解构赋值 以及const命令
  7. next_permutation 与 prev_permutation(全排列算法)
  8. 大战设计模式【17】—— 建造者模式
  9. could not find the main class错误
  10. Algorithm Course Review(1.1)