2014-08-08

Pig: Distinct

Distinct主要是去掉重复的记录,是对条记录进行去重,而不是对单个某个schema。

daily = load ‘NYSE_daily‘ as (exchange:chararray, symbol:chararray);
uniq = distinct daily

它需要收集相似的记录在一块,判断这些记录是否是重复的。我的理解是:在reduce收集相似的记录在一块,充分利用了combiner去掉重复的记录,在map里面进行删除。(有点奇怪的理解)

等价于SQL中的:

select distinct x

如果想对某个schema进行distinct,可以先选出来。

SQL的实现原理:

http://blog.codinglabs.org/articles/theory-of-mysql-index.html

C++:

http://man.chinaunix.net/develop/c&c++/c/c.htm#_Toc520634042

2014-08-08,布布扣,bubuko.com

时间: 2024-08-10 15:08:35

2014-08-08的相关文章

JavaScript基础系列目录(2014.06.01~2014.06.08)

下列文章,转载请亲注明链接出处,谢谢! 链接地址: http://www.cnblogs.com/ttcc/tag/JavaScript%20%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%20%E6%80%BB%E7%BB%93/ 1. Javascript基础---语法(待完成) 2. JavaScript基础---数据类型(待完成) 3. JavaScript基础---Array数组(待完成) 4. JavaScript基础---正则表达式(待完成) 5. Jav

2014/08/08 – Backbonejs

[来自: Backbone.js 开发秘笈 第5章] Event API: (function ($) { //define ------------------------- var obj = {}; var obj2 = { commonEvent: function () { window.document.title = new Date().toString(); } }; //扩展对象包含事件 _.extend(obj, Backbone.Events); _.extend(obj

周记 2014.11.08

1.GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的.它的目标是创建一套完全自由的操作系统. 2.数据库中表比较大,查询比较慢时,可以考虑缓存.缓存包括缓存到内存和硬盘(文件). 3.学会思考,你的项目的关键点在哪,效率的关键点. 4.最终使用的jdk是看这个程序里面定义的JAVA_HOME,如果这个程序没有自己定义,默认使用用户的JAVA_HOME,用户再没定义,才使用系统的 JAVA_HOME,  因此,控制JAVA_HOME的地方多的是,方法多

php常用函数之String篇【小琪整理 2014/10/08】

********************************字符串函数***************************** trim(string,charlist); 用途:删除字符串两端的空格或其他预定义字符 >>例子:$str = "\r\nHello World!\r\n"; echo trim($str); 输出: Hello World! rtrim(string,charlist);  <=>  chop(string,charlist)

2017/08/08 工作日志

上午差不多都在解决类库的引用问题,最后还是用不引用解决的... 下午差不多可以开始静下心做任务的时候测试说上次提交的需求有bug...来回折腾了一会还是先去做当前的项目了. 下班之后开始解决上次的bug,差不多整整两个半小时,内心由焦急到平静反复循环,差不多八点半一举解决. 改bug与添加新功能的感觉如此不同,后者是包装礼物,最核心的完成后放在里面,剩下的依自己的心意不断添加新的包装, 而改bug是一层层地抽丝剥茧,线条凌乱复杂,往往又时间紧迫,令人焦急万分,但到找到症结所在,一举解决问题的刹那

17.08.08

Oracle NET 1.客户端通过@ora10g的名字去tnsname.ora文件获取服务器的具体连接信息 2.客户端通过tnsname.ora中的描述向服务器发出链接请求服务器端 3.服务器的监听器接收到连接请求后,验证请求的服务的有效性 4.服务器端产生一个服务进程和客户端进程建立连接 查看会话建立过程: $ netstat -tlnp | grep 1521 $ sqlplus sys/[email protected] as sysdba $ netstat -tnp | grep s

2019 08 08 字符编码,文件操作

字符编码 一.计算机基础 cpu: 控制程序的运行(从内存中取出文本编辑器的数据读入内存) 内存: 运行程序(经cpu操作后,内存中含有文本编辑器的数据) 硬盘: 存储数据(文本编辑器) 二.文本编辑器存取文件的原理 ? 计算机只认识 0和1 ? 文本编辑器的作用: 读写数据,保存数据 打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失. 要想永久保存,需要点击保存按钮:编辑器把内存的数据刷到了硬盘上. 在我们编写一个py文件(没有执行)

2019 08 08 文件高级应用和函数基础

文件的高级应用 可读.可写 r+t: 可读.可写 即可读又可写(尽量不要使用) # r+ 是在后面追加 w+t: 可写.可读 清空文件的功能是w提供的, w+更不要使用 a+t: 可追加.可读 a有追加的功能,a的指针在末尾,a+功能也没用 # wt with open('36w.txt', 'wt', encoding='utf-8') as fw: print(fw.readable()) print(fw.writable()) False True # w+t with open('36

ZROI 19.08.08模拟赛

传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. 首先恭喜swk今天翻车! "小心大样例演你."--天祺鸽鸽 果然swk今天被大样例演死了,天祺鸽鸽诚不欺我! A 这题标程是前几天ACM赛的双栈背包-- 然而可以排序之后直接背包,\(O(nm)\)随便过( B 菜 swk 菜 发现答案就是子串中最长border,即串长减去最短循环节. 每个字母是独立的,可以分开计算答案. 对第\(i\)个字母,设循环节循环次数为\(k\),在循环节内的长度为\(f_i\),剩余的长度为

JavaSE学习总结第08天_面向对象3

08.01 工具类中使用静态 例: 1 class ArrayTool 2 { 3 //将构造方法私有,外界不能创建该类的对象 4 private ArrayTool(){} 5 //遍历数组 6 public static void print(int[] arr) 7 { 8 System.out.print("["); 9 for(int i = 0;i < arr.length;i++) 10 { 11 if(i == arr.length-1) 12 { 13 Syst