2014-08-05 pig
Pig的数据类型能够分为两种:一种是scalar类型,包含单一的value,一种是complex类型,包含有其他的类型。
对于scalar类型:
int,long,float,double,chararray(取代了string),bytecharray.
复杂点的类型:
1、Map(我用python编写的对应的map总是出现问题,纠结了好久还是没有纠结好~~~才纠结好)书上的介绍:map是chararray(作为key)与其他数据元素的映射关系(作为value),其他的数据元素的类型为pig支持的数据类型,也包括复杂的数据类型。因为Pig并不知道value的类型,所以它假定这个为bytearray类型,但是真是的类型可能不是这样的,如果你知道这个value的类型,或者你希望是某个类型,你可以强制转换(cast)它。如果你不转换,Pig会以它认为的类型来定义,书的后面也有写Pig如何处理它不知道的类型。默认的情况下,没有要求values的必须是同一种类型。Pig0.9之后,可以申请values为一种类型。
map的形式是:key,value之间由#隔开,每一对之间由逗号隔开,这些pairs由中括号括起来。
如:['name'#'bob', 'age'#55]。
记下我的程序:
line = '';
regulation = regulations.split(',');
regulation.remove('');
for re in regulation:
line = line + re.replace(':', '#') + ',';
line = line[len(line) - 1:];
regulationMap = [line];
这个程序里面的regulationMap就可以当作一个map来使用了。
其他的:返回map,写成这种形式:@outputSchema("mapvalue: []"),在pig里面使用的时候用flatten。(后一个还没有仔细用。)
涉及到map的还有两个问题:1、在pig,python的udf里面能不能读文件,每次读文件,都出错?2、flatten之后的数据跟别的数据join之后又问题。这个也还没有解决。
用describe看一个变量数据:describe variableValue,可以知道其schema的组成。
注意:flatten之后的数据可以用$0,$1等等来代表其第几个schema。
map还有很多需要注意的地方,以后碰到再写。
2、Tuple: 是有序集合,能够被分为好几个fields,每一个field包含一个元素,这些元素可以是任意类型,可以不是相同的类型。可以同为下标进行访问。tuple里面的value可以跟相应的type进行关联。tuple形式:小括号,每个元素之间逗号:('b', 55),两个元素。
bag:
先不写了。
sql:
http://www.cnblogs.com/wang-123/archive/2012/01/05/2312676.html
2014-08-05 pig的更多相关文章
- E2 2014.08.05 更新日志
增加功能 增加手机.平板兼容模块,用手机平板也能正常登陆和使用软件 介绍 演示 对数据库全面优化,全面提升数据量很大时统计分析的性能 完善功能 销售分析增加按商品分类分析 完善客户明细窗口的客户信息 ...
- http://www.blogjava.net/xylz/archive/2013/08/05/402405.html
http://www.blogjava.net/xylz/archive/2013/08/05/402405.html
- http://tedhacker.top/2016/08/05/Spring%E7%BA%BF%E7%A8%8B%E6%B1%A0%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/
http://tedhacker.top/2016/08/05/Spring%E7%BA%BF%E7%A8%8B%E6%B1%A0%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%9 ...
- app后端设计(11)-- 系统架构(2014.12.05更新)
个人认为,在小型的创业团队中,特别是以应用产品为主,在架构后台的时候,需要集中精力解决自身业务上的问题,不是花时间解决第三方已经解决的问题,简单点来说,就是能用第三方服务就使用第三方的服务.基于这个原 ...
- app后端设计(3)--短信,邮件,推送服务(2014.12.05更新)
在app的后端设计中,免不了消息的推送,短信,邮件等服务,下面就个人的开发经验谈谈这方面. (1)最重要的是,各种推送一定要放在队列系统中处理,不然会严重影响api的响应时间. (2)短信方面 以前我 ...
- 新手C#类、对象、字段、方法的学习2018.08.05
类:具有相似属性和方法的对象的集合,如“人”是个类. 对象(实例):对象是具体的看得见摸得着的,如“张三”是“人”这个类的对象.(new Person()开辟了堆空间中,=开辟了栈空间,变量P存放在该 ...
- 新手C#s.Split(),s.Substring(,)以及读取txt文件中的字符串的学习2018.08.05
s.split()用于字符串分割,具有多种重载方法,可以通过指定字符或字符串分割原字符串成为字符串数组. //s.Split()用于分割字符串为字符串数组,StringSplitOptions.Rem ...
- js 时间 Fri Dec 12 2014 08:00:00 GMT+0800
第一种var d = new Date('Fri Dec 12 2014 08:00:00 GMT+0800'); ) + '-' + d.getDate() + ' ' + d.getHours() ...
- Image Processing and Computer Vision_Review:A survey of recent advances in visual feature detection(Author's Accepted Manuscript)——2014.08
翻译 一项关于视觉特征检测的最新进展概述(作者已被接受的手稿) 和A survey of recent advances in visual feature detection——2014.08内容相 ...
- 2021.08.05 P1738 洛谷的文件夹(树形结构)
2021.08.05 P1738 洛谷的文件夹(树形结构) P1738 洛谷的文件夹 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.树!! 题意: 给出n个网页路径,求 ...
随机推荐
- http://www.w3cplus.com/animation/create-animated-text-fills.html
关于svg的资料: http://www.w3cplus.com/animation/create-animated-text-fills.html asp.net中jquery的ajax调用cs文件 ...
- Waterfall———瀑布流布局插件, 类似于 Pinterest、花瓣、发现啦。
瀑布流布局插件, 类似于 Pinterest.花瓣.发现啦. En 中文 文档 下载 下载waterfall插件最新版本. 使用 html: <div id="container&qu ...
- 太受不了了,,REST_FRAMEWORK太方便啦~~
按英文原始的DOCUMENT走一圈,从最手工的输出到高度的集成. 最后真的就几行代码,实现最常用的JSON API..纯RESTFUL风格. 但,其核心是要记住序列化生反序列的过程,都是要以PYTHO ...
- 【网络流24题】No.9 方格取数问题 (二分图点权最大独立集)
[题意] 在一个有 m*n 个方格的棋盘中, 每个方格中有一个正整数. 现要从方格中取数, 使任意 2 个数所在方格没有公共边,且取出的数的总和最大.试设计一个满足要求的取数算法. 输入文件示例inp ...
- win7+ubuntu双系统安装攻略
一1.下载分区软件,为ubuntu安装分出一个区 2.磁盘管理器,选中该区,右键,删除卷,该区变为绿色,成为空闲区 3.成功 二为ubunt添加开机导引项 1,安装好easybcd2.0后,启动软件: ...
- USB OTG
OTG检测的原理是:USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机时设备 ...
- Android4.0以下View的Drag和Drop简单实现
主要代码部分: 实现View的onTouch方法,变换落点的X,Y坐标,定义两个变量存放拖动前的坐标位置. int prevX,prevY; @Override public boolean onTo ...
- 17.2.2 Replication Relay and Status Logs 复制Relay 和状态日志;
17.2.2 Replication Relay and Status Logs 复制Relay 和状态日志: 17.2.2.1 The Slave Relay Log 17.2.2.2 Slave ...
- 转载:java保留2位小数
转载:http://blog.csdn.net/wj_j2ee/article/details/8560132 java保留两位小数问题: 方式一: 四舍五入 double f = 11 ...
- Visual Studio 2015 企业版 官方中文版.iso
Visual Studio 2015 企业版 官方中文版.iso 附上链接 不要积分 谢谢: http://download.csdn.net/detail/onebelowzero2012/9561 ...