MapReduce基础开发之七Hive外部表分区
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外部表分区相关推荐
- Hive 外部表关联分区数据
0. 说明 已经安装好Hadoop和hive环境,hive把元数据存储在mysql数据库.这里仅讨论外部表和HDFS的关联,并且删掉外部表之后,对HDFS上的文件没有影响. 1. 在HDFS创建分区, ...
- hive 外部表不支持添加列
hive 外部表不支持添加列 其实在之前我也不知道,在官网上面也没有看到 在操作的时候才发现的 alter table hbase_fct_mcht_item_day add columns(avg_ ...
- Hive 外部表的练习(多表关联查询,以及分组,子查询)
Hive 外部表的练习 hive创建库和表操作 hive加载数据,4种发放 1.数据放在Linux创建表结构 进行加载 2.先定义表结构.将一个查询select语句结果插入到表中 3.数据先放在hdf ...
- MapReduce基础开发之三字段处理并输出Hive表
1.MR设计和开发 1)设计: 输入:用户名 | 数字ip | 时间戳 | url MR处理:正则表达式匹配url,满足则解析url并转换ip和时间戳, 输出:用 ...
- tablesample oracle,Hive DDL 内部表外部表 分区 分桶 行格式 存储文件格式 概述
创建数据库 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] ...
- hive外部表改为内部表_hive内部表外部表介绍
未被external修饰的是内部表(managed table),被external修饰的为外部表(external table): 区别: 内部表数据由Hive自身管理,外部表数据由HDFS管理: ...
- hive修改 表/分区语句
参考 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable% ...
- hive外部表/内部表路径知识点
1.hive创建外部表或者管理表是指定的位置信息是数据路径: create external table location '/user/externalhive/location/dir' 这里只定 ...
- hive外部表改为内部表_3000字揭秘Greenplum的外部数据加载——外部表
外部表是greenplum的一种数据表,它与普通表不同的地方是:外部表是用来访问存储在greenplum数据库之外的数据.如普通表一样,可使用SQL对外部表进行查询和插入操作.外部表主要用于Green ...
最新文章
- 学了那么多年设计模式依然不会用!那可真蠢!
- React中如何优雅的捕捉事件错误
- Web安全之代码执行漏洞
- C/C++将十进制数转为二进制并输出
- Elasticsearch中如何进行日期(数值)范围查询
- linux cut性能,Linux cut
- arch linux 安装xfce_树莓派安装ArchLinux+桌面环境
- Git学习总结(3)——代码托管平台简介
- 数据迁移期间进程命令
- Codeforces123E. Maze【树形dp】【概率dp】【证明题】
- 【深度学习概念】感受野
- 从初级晋级高级UI设计师学习路线+全套视频
- win10下WAMP Server安装
- 轨迹绕圈算法_基于三次B样条曲线拟合的智能车轨迹跟踪算法
- html 完整性验证,验证消息完整性的方法是() - 问答库
- 大疆19年校招0804笔试A卷
- 51Nod 1631 小鲨鱼在51Nod小学 【 扫描线 】
- csgo为什么显示vac无法连接服务器,《csgo》vac无法验证游戏会话怎么解决 vac无法验证游戏会话解决方法介绍...
- SAP FICO 财务成本知识
- jQuery 利用键盘上下键移动表格内容
热门文章
- python exe运行报 编码错误_python运行显示编码错误
- mac brew 安装_无用技能之 Mac 安装relion 步骤
- 华视电子读卡器web开发_业界动态:华视电子官方微信公众号电子书架正式上线...
- IIS7.5 安全配置研究(推荐)
- History命令用法
- 数组 字符串的解构赋值 以及const命令
- next_permutation 与 prev_permutation(全排列算法)
- 大战设计模式【17】—— 建造者模式
- could not find the main class错误
- Algorithm Course Review(1.1)