pig 的chararry不能用于比较的类型可以comparison operator
pig 的chararry类型可以是由场,通过现场实地比较。
element_id 这是chararray种类。
声明:
no_app_category_mapping = filter no_element_id by element_id == '' or element_id is null or element_id == '0' or element_id >='14';
当中,element_id >='14'是错误的使用方法。
comparison operator不能操作chararray类型。
运行结果是 element_id为8 的被找出来了。‘8’>='14'。非常奇怪啊!
而改成 element_id <='14'时。再运行时。
运行结果找到了element_id =‘1’和element_id =‘11’的,说明不行。
原理:预计是升级为bytearray,然后,按字段比較,逐个字段,所以,8>1。而1同样时。1<4
所以11小于14。而8大于14.
pig官网有说明:貌似仅仅能用==和!=。两边不一致是。implicit cast支持从低到高,不支持高到低。
例如以下:
Comparison Operators
Description
| Operator | Symbol | Notes | 
| equal | == | |
| not equal | != | |
| less than | < | |
| greater than | > | |
| less than or equal to | <= | |
| greater than or equal to | >= | |
| pattern matching | matches | Takes an expression on the left and a string constant on the right. expression matches string-constant Use the Java format for regular expressions. | 
Use the comparison operators with numeric and string data.
Examples
Numeric Example
X = FILTER A BY (f1 == 8);
String Example
X = FILTER A BY (f2 == 'apache');
Matches Example
X = FILTER A BY (f1 matches '.*apache.*');
Types Table: equal (==) operator
| bag | tuple | map | int | long | float | double | chararray | bytearray | boolean | datetime | biginteger | bigdecimal | |
| bag | error | error | error | error | error | error | error | error | error | error | error | error | error | 
| tuple | boolean (see Note 1) | error | error | error | error | error | error | error | error | error | error | error | |
| map | boolean (see Note 2) | error | error | error | error | error | error | error | error | error | error | ||
| int | boolean | boolean | boolean | boolean | error | cast as boolean | error | error | error | error | |||
| long | boolean | boolean | boolean | error | cast as boolean | error | error | error | error | ||||
| float | boolean | boolean | error | cast as boolean | error | error | error | error | |||||
| double | boolean | error | cast as boolean | error | error | error | error | ||||||
| chararray | boolean | cast as boolean | error | error | error | error | |||||||
| bytearray | boolean | error | error | error | error | ||||||||
| boolean | boolean | error | error | error | |||||||||
| datetime | boolean | error | error | ||||||||||
| biginteger | boolean | error | |||||||||||
| bigdecimal | boolean | 
Note 1: boolean (Tuple A is equal to tuple B if they have the same size s, and for all 0 <= i < s A[i] == B[i])
Note 2: boolean (Map A is equal to map B if A and B have the same number of entries, and for every key k1 in A with a value of v1, there is a key k2 in B with a value of v2, such that k1 == k2 and v1 == v2)
版权声明:本文博客原创文章,博客,未经同意,不得转载。
pig 的chararry不能用于比较的类型可以comparison operator的更多相关文章
- pig 的chararry类型不能用比较运算符comparison operator
		pig 的chararry类型可能是按字段,逐个字段进行比较. element_id 是chararray类型, 语句: no_app_category_mapping = filter no_ele ... 
- Linux— file命令  用于辨识文件类型
		Linux file命令用于辨识文件类型. 通过file指令,我们得以辨识该文件的类型. 语法 file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...] ... 
- C++ class内类型重载,operator Type()
		#include <iostream> // operator Type() 类型操作符重载 // operator int() // operator double() // ... / ... 
- String的valueOf()用于将其它类型转换为字符串
		String的valueOf()重载方法可将double类型,int类型,boolean类型以及char数组类型等变量转换为String类变量. 注:String的valueOf()可将char数组转 ... 
- springMVC使用@RequestParam用于处理简单类型的绑定
		使用@RequestParam常用于处理简单类型的绑定. value:参数名字,即入参的请求参数名字,如value=“item_id”表示请求的参数区中的名字为item_id的参数的值将传入: req ... 
- 实现type函数用于识别标准类型和内置对象类型
		function type(obj){ return Object.prototype.toString.call(obj).slice(8,-1); } var t=type(new Number( ... 
- vs2017中char* str = "1234asd56";会报错,——const char*类型的值不能用于初始化char*类型的实体
		原因: "1234asd56"是常量 ,正确的写法本身就是:const char* str = "1234asd56"; 之所以之前的vs版本可以写成char* ... 
- "const char *" 类型的值不能用于初始化 "char *" 类型的实体
		用vs2019发现会出现这样的问题 最后发现只要设置一下就解决了,解决方案如下: 右击该项目,选择属性->c/c++->语言->将符合模式改为否就行了... 设置之后程序没有再报错, ... 
- pig简介
		Apache Pig是MapReduce的一个抽象.它是一个工具/平台,用于分析较大的数据集,并将它们表示为数据流.Pig通常与 Hadoop 一起使用:我们可以使用Apache Pig在Hadoop ... 
随机推荐
- HPUX在oracle10g安装和卸载缩写
			创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/ ... 
- jquery ui 笔记
			准备: 1.下载jquery ui库:http://jqueryui.com/download/ 2.选择theme 3.建立一个良好的发展环境(mysql.netbeans) 4.创建数据库:jqu ... 
- PHP第七课 使用方法数组2
			学习平台: 1.了解数组函数 2.输出随机验证码 1.数组函数: 数组函数: //作用:提供了非常多官方写的非常实用的代码段,提高编写速度. 1.数组的键值操作函数 2.统计数组的元素和唯一性 3.使 ... 
- 在前端一定要了解的HTML,CSS知识
			盒子模型 每个盒子都有4个属性:内容(content).填充(padding).边框(border).边界(margin) 每个属性都有四个部分:上.右.下.左 块级元素 内联元素 块级元素(bloc ... 
- 探索C/C++大数快(自然数)模板
			本文fcbruce个人原创整理.转载请注明出处http://blog.csdn.net/u012965890/article/details/40432511,谢谢. 我们知道在C/C++中int型可 ... 
- Effective Java (7) - 避免终止方法
			一. 基本概念 1. 所谓的终结方法事实上是指finalize(). 2. Java的垃圾回收机制仅仅负责内存相关清理.其它资源的清理(释放文件.释放DB连接)须要程序猿手动完毕. 3. 调用Syst ... 
- MFC 盾webBrowser打开弹出的页面
			void CansDlg::NewWindow3Explorer1(LPDISPATCH* ppDisp, BOOL* Cancel, unsigned long dwFlags, LPCTSTR b ... 
- js实现鼠标拖拽div-------Day44
			假设去问这样一个问题"你认为鼠标操作简单,还是键盘操作简单",相信会有多数人都会回答鼠标吧,毕竟键盘button那么多,假设手小了或者手法不规范了,太easy出问题了,也对操作的速 ... 
- struts2和struts1认识
			1.Struts 2基本流程 Struts 2框架本身可以大致分3部分:核心控制器FilterDispatcher.业务总监Action与用户实现企业业务逻辑组件. 核心控制器FilterDispat ... 
- [HA]负载均衡:HAPROXY与KEEPALIVED强强联合
			第一步:更改系统控制配置文件,同意分配虚拟IP(VIP) /etc/sysctl.conf net.ipv4.ip_nonlocal_bind=1 <pre style="word-w ... 
