文档章节

Hive实现WordCount

w
 wall--e
发布于 2016/04/24 12:37
字数 287
阅读 119
收藏 3

1. 创建一个存放源数据的表(外部表)t_words_src, 表中字段line为string类型, 存放一行单词

源数据示列: 

hello,tom
hello,jerry
hello,kitty
hello,world
hello,tom
hive> create external table t_words_src (line string)
row format delimited
fields terminated by '\n'    # 按\n来切分字段, 一行就是一个字段
location '/wc/input';    # 源数据路径为 'hdfs://node1:9000/wc/input' 

hive> select * from t_words;
OK
hello,tom
hello,jerry
hello,kitty
hello,world
hello,tom

2. 创建一个存放所有单词的表t_words, 表中字段word为string类型, 存放单词

hive> create table t_words (word string);
hive> insert into table t_words select explode(split(line,',')) as word from t_words_src;

hive> select * from t_words;
OK
hello
tom
hello
jerry
hello
kitty
hello
world
hello
tom


3. 创建一个存放WordCount结果的表t_wc_result, 表中字段word为string类型, 存放单词, counts为int类型, 存放单词出现次数

hive> create table t_wc_result (word string, counts int);
hive> insert into table t_wc_result select word as word, count(word) as counts from t_words;

hive> select * from t_wc_result;
OK
hello	5
jerry	1
kitty	1
tom	2
world	1

相对MapReduce来说, Hive的HQL版WordCount写起来代码量少很多, 但他们的思想都是一样的

© 著作权归作者所有

w
粉丝 7
博文 31
码字总数 25016
作品 0
东城
程序员
私信 提问
Hive 简单操作

a,创建无分区表 CREATE TABLE IF NOT EXISTS student(id int COMMENT '学号,主键唯一',name String COMMENT '姓名') ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY ......

momisabuilder
2016/01/27
27
0
大话大数据(一)

大数据的4V特征: 数据量大,TB->PB 数据类型繁多,结构化、非结构化文本、日志、视频、图片、地理位置等; 商业价值高,但是这种价值需要在海量数据之上,通过数据分析与机器学习更快速的挖...

提广乾
2016/11/25
51
0
Hive lateral view 和 explode 详解

建表语句结构 2. 表里 name 和 subordinates 的数据结构 3. 使用 lateral view 和 explode 查询 总结: explode就是将hive一行中复杂的 array 或者 map 结构拆分成多行。 下面就做个小例子, 创...

自东土大唐而来
2018/01/26
2.2K
0
hadoop 里执行 MapReduce 任务的几种常见方式

说明: 测试文件: echo -e "aatbb tccnbbtcctdd" > 3.txt hadoop fs -put 3.txt /tmp/3.txt 全文的例子均以该文件做测试用例,统计单词出现的次数(WordCount)。 1、原生态的方式:java 源...

大数据之路
2012/10/14
10.3K
0
写给大数据开发初学者的话 | 附教程

导读: 第一章:初识Hadoop 第二章:更高效的WordCount 第三章:把别处的数据搞到Hadoop上 第四章:把Hadoop上的数据搞到别处去 第五章:快一点吧,我的SQL 第六章:一夫多妻制 第七章:越来...

小数点
2017/12/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

用原生js对表格排序

本文转载于:专业的前端网站➸用原生js对表格排序 阿里的模拟笔试题,当时时间有限没写出来,其实是因为自己对原生dom操作不熟悉,这里补一下。 题目的大意是有一个表格,如代码所示 <table>...

前端老手
14分钟前
2
0
IT兄弟连 HTML5教程 HTML5表单 HTML5新增表单元素

HTML5有一些新的表单元素:<datalist>、<keygen>、<output>。不是所有的浏览器都支持HTML5新的表单元素,但即使浏览器不支持该表单属性,仍然可以显示为常规的表单元素。 1 <datalist>元素 ...

老码农的一亩三分地
16分钟前
2
0
【朝花夕拾】Android自定义View篇之(一)View绘制流程

https://www.cnblogs.com/andy-songwei/p/10955062.html

shzwork
18分钟前
3
0
Qt编写自定义控件70-扁平化flatui

一、前言 对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产...

飞扬青云
27分钟前
1
0
教你玩转Linux—添加批量用户

添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户...

Linux就该这么学
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部