胜还是平? Pig vs Hive!!!
这篇文章讨论了pig和hive的特性。
开发者通常处于选择满足业务需求的技术体系。 在hadoop体系中,pig和hive很相似,并能给出几乎相同的结果,但是那种技术更适合特殊的业务场景了?这里列出了pig和hive的一些对比。
PIG and Hive:
流类型:
Pig是过程式数据流语言。过程式语言通常按照一步一步的执行方式去编写...
分类:
其他好文 时间:
2015-06-19 15:26:17
阅读次数:
326
1.Pig是基于hadoop的一个数据处理的框架。
MapReduce是使用java进行开发的,Pig有一套自己的数据处理语言,Pig的数据处理过程要转化为MR来运行。
2.Pig的数据处理语言是数据流方式的,类似于初中做的数学题。
3.Pig基本数据类型:int、long、float、double、chararry、bytearray
复合数据类型:Map、Tuple、Ba...
分类:
其他好文 时间:
2015-06-14 16:44:27
阅读次数:
121
users = load '/users.data' using PigStorage() as (name:chararray, age:int, address:chararray);load 'xx': 1)xx可以是文件,也可以是文件夹。如果是文件夹,则文件夹下的所有文件(包括子文件夹)都....
分类:
其他好文 时间:
2015-06-07 23:32:59
阅读次数:
811
基本类型int、long、float、double、chararray、bytearray、datatime、boolean、biginteger、bigdecimal复杂类型map、tuple、bagNULLmap['key1'#value1, 'key2'#value2]key-value键值对...
分类:
其他好文 时间:
2015-06-07 23:31:55
阅读次数:
1007
dst = distinct data;DISTINCT只能对整个记录(整行)去重,不能在字段级别去重。触发reduce阶段data = load 'data';distinct data;
分类:
其他好文 时间:
2015-06-07 23:25:54
阅读次数:
199
注册UDFdo.pig的内容如下:register /xx/yy.jardata = load 'data';result = foreach data generate aa.bb.Upper($0);dump result; register的路径可以是本地路径,也可以是hdfs路径regis....
分类:
其他好文 时间:
2015-06-07 23:24:54
阅读次数:
201
Pig中的模式可以是用户显示声明的,也可以是Pig通过用户的使用方式猜测的。Pig对模式的认知在Pig Latin脚本执行的不同阶段可能是不同的。下面的语句,用户显示声明了模式:3个字段,分别是name、age、address,它们的类型也确定了。 data = load 'data' as (na...
分类:
其他好文 时间:
2015-06-07 23:22:57
阅读次数:
156
在pig的grunt环境下,按TAB键可以自动补全命令,用户可以添加自己的补全信息。在conf目录下创建autocomplete文件,添加如下内容:hdfs://vm1:8020/在grunt环境下输入hd,然后按TAB,就可以自动补全hdfs://vm1:8020了。/conf/autocompl...
分类:
其他好文 时间:
2015-06-07 23:22:57
阅读次数:
138
group语句可以把具有相同键值的数据聚合在一起,与SQL中的group操作有着本质的区别,在SQL中group by字句创建的组必须直接注入一个或多个聚合函数。在Pig Latin中group和聚合函数之间没有直接的关系。 group关键字正如它字面所表达的:将包含了特定的键所对应的值的所有记录....
分类:
其他好文 时间:
2015-06-07 23:22:39
阅读次数:
371
总体来说Pig是“强类型”的,但Pig又允许用户不指定输入数据的类型,而可以自己根据用户的使用方式进行推测。称Pig是“轻类型”的更合适,它确实对类型有严格的要求,但是如果没有明确定义类型也是可以处理的。
分类:
其他好文 时间:
2015-06-07 23:19:06
阅读次数:
113