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 ...
随机推荐
- c++日历改进版
#include<iostream> # include<fstream> #include<time.h> #include<string> #inc ...
- SRS微信号和QQ组
联系方式:https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Contact $(function () { $('pre.prett ...
- Make a dent in the universe
李自成<一个数学家平反>.就像我第一次读同一,我感到鼓舞的野心文."野心是世界的驱动力的最好的结果几乎所有的工作. " 心野心是要留下点什么在自己身后的永恒价值 在这个 ...
- ubuntu快捷键设置,查看系统
设置system setting于.点击键盘keyboard,有捷径keyboard shortcut.但也设置快捷键本身. 版权声明:本文博主原创文章,博客,未经同意不得转载.
- AutoMapper在ABP框架
AutoMapper在ABP框架中的使用说明 为了说明AutoMapper如何使用,我专门开设了一个专题来讲,如果您还没有查看该专题,请点击这里.既然系统地学习了AutoMapper,那么接下来就是该 ...
- HDU - 5036 Operation the Sequence
Problem Description You have an array consisting of n integers: a1=1,a2=2,a3=3,-,an=n. Then give you ...
- Android应用开发:LoaderManager在Activity/Fragment中的使用分析
LoaderManager 外部接口initLoader:起始 public <D> Loader<D> initLoader(int id, Bundle args, Loa ...
- SQL Server 2008 (R2) 单机版安装的先决条件
原文:SQL Server 2008 (R2) 单机版安装的先决条件 出自:http://blogs.msdn.com/b/apgcdsd/archive/2012/03/07/sql-server- ...
- 【Android开发经验】来,咱们自己写一个Android的IOC框架!
到眼下位置.afinal开发框架也是用了好几个月了,还记得第一次使用凝视完毕控件的初始化和事件绑定的时候,当时的心情是多么的兴奋- -代码居然能够这样写!然后随着不断的学习,也慢慢的对IOC框架和注解 ...
- c++读取文本文件
#include<iostream> #include<fstream> using namespace std; int main() { int a,b=-100000,c ...