摘要:
注册UDFdo.pig的内容如下:register /xx/yy.jardata = load 'data';result = foreach data generate aa.bb.Upper($0);dump result; register的路径可以是本地路径,也可以是hdfs路径regis... 阅读全文
posted @ 2015-06-07 22:41
lishouguang
阅读(557)
评论(0)
推荐(0)
摘要:
parallel语句可以附加到Pig Latin中任一个关系操作符后面,然后它会控制reduce阶段的并行,因此只有对与可以触发reduce过程的操作符才有意义。 可以触发reduce过程的操作符有:group、order、distinct、join、cogroup、cross设置paralle... 阅读全文
posted @ 2015-06-07 22:38
lishouguang
阅读(751)
评论(0)
推荐(0)
摘要:
some = sample data 0.1遍历整个数据集,获取指定比例的行数的数据,获取的数据不确定,条数也不准确。内部重写为filter data by random() <= 0.1抽取100行数据data = load 'data';grpd = group data all;sums = ... 阅读全文
posted @ 2015-06-07 22:37
lishouguang
阅读(632)
评论(0)
推荐(0)
摘要:
lmt = limit data 10;只获取指定条数的数据,不能保证每次得到的结果一致,先执行order再limit可以保证一致。输入数据全部载入。会触发reduce阶段a = load 'a.txt';b = group a all;c = foreach b generate COUNT(a)... 阅读全文
posted @ 2015-06-07 22:36
lishouguang
阅读(588)
评论(0)
推荐(0)
摘要:
jnd = join a by f1, b by f2;join操作默认的是内连接,只有两边都匹配才会保留需要用null补位的那边需要知道它的模式:如果是左外连接,需要知道右边的数据集的模式,不匹配的字段用null补位如果是右外连接,需要知道左边的数据集的模式,不匹配的字段用null补位如果是全外连... 阅读全文
posted @ 2015-06-07 22:35
lishouguang
阅读(897)
评论(0)
推荐(0)
摘要:
dst = distinct data;DISTINCT只能对整个记录(整行)去重,不能在字段级别去重。触发reduce阶段data = load 'data';distinct data; 阅读全文
posted @ 2015-06-07 22:34
lishouguang
阅读(599)
评论(0)
推荐(0)
摘要:
group语句可以把具有相同键值的数据聚合在一起,与SQL中的group操作有着本质的区别,在SQL中group by字句创建的组必须直接注入一个或多个聚合函数。在Pig Latin中group和聚合函数之间没有直接的关系。 group关键字正如它字面所表达的:将包含了特定的键所对应的值的所有记录... 阅读全文
posted @ 2015-06-07 22:33
lishouguang
阅读(1595)
评论(0)
推荐(0)
摘要:
sorted = order data by $0;数值类型按照数值大小比较chararray类型按照字符的字典顺序比较bytearray按照字节的字典顺序比较复杂类型(map、tuple、bag)不能比较null是最小的触发reduce阶段sorted = order data by $0;sor... 阅读全文
posted @ 2015-06-07 22:29
lishouguang
阅读(370)
评论(0)
推荐(0)
摘要:
store:将数据存储到HDFS等文件系统里将数据保存到/data目录store data into '/data'; 以逗号为分隔符store data into '/data' using PigStorage(','); 阅读全文
posted @ 2015-06-07 22:28
lishouguang
阅读(542)
评论(0)
推荐(0)
摘要:
filter:过滤数据,只有符合特定条件的数据才会被保留下来,然后进入下一个数据流。1)等值比较filter data by $0 == 1filter data by $0 != 12)字符串 正则匹配 JAVA的正则表达式字符串以CM开头filter data by $0 matches 'CM... 阅读全文
posted @ 2015-06-07 22:27
lishouguang
阅读(1393)
评论(0)
推荐(0)
摘要:
foreach:一行一行的遍历数据,处理一行的数据,然后返回一个tuple。users = load '/users.data';1)别名引用f = foreach users generate name, age; 2)位置引用f = foreach users generate $0, $1;... 阅读全文
posted @ 2015-06-07 22:25
lishouguang
阅读(1215)
评论(0)
推荐(0)
摘要:
users = load '/users.data' using PigStorage() as (name:chararray, age:int, address:chararray);load 'xx': 1)xx可以是文件,也可以是文件夹。如果是文件夹,则文件夹下的所有文件(包括子文件夹)都... 阅读全文
posted @ 2015-06-07 22:22
lishouguang
阅读(584)
评论(1)
推荐(0)
摘要:
总体来说Pig是“强类型”的,但Pig又允许用户不指定输入数据的类型,而可以自己根据用户的使用方式进行推测。称Pig是“轻类型”的更合适,它确实对类型有严格的要求,但是如果没有明确定义类型也是可以处理的。 阅读全文
posted @ 2015-06-07 22:21
lishouguang
阅读(180)
评论(0)
推荐(0)
摘要:
users.data的内容如下:lisg 28 75dengsl 24 88 强制类型转换users = load '/users.data'fehed = foreach users generate (int)$1 as age; 隐式类型转换users = load... 阅读全文
posted @ 2015-06-07 22:20
lishouguang
阅读(1067)
评论(0)
推荐(0)
摘要:
Pig中的模式可以是用户显示声明的,也可以是Pig通过用户的使用方式猜测的。Pig对模式的认知在Pig Latin脚本执行的不同阶段可能是不同的。下面的语句,用户显示声明了模式:3个字段,分别是name、age、address,它们的类型也确定了。 data = load 'data' as (na... 阅读全文
posted @ 2015-06-07 22:17
lishouguang
阅读(221)
评论(0)
推荐(0)
摘要:
基本类型int、long、float、double、chararray、bytearray、datatime、boolean、biginteger、bigdecimal复杂类型map、tuple、bagNULLmap['key1'#value1, 'key2'#value2]key-value键值对... 阅读全文
posted @ 2015-06-07 22:13
lishouguang
阅读(626)
评论(0)
推荐(0)
摘要:
在pig的grunt环境下,按TAB键可以自动补全命令,用户可以添加自己的补全信息。在conf目录下创建autocomplete文件,添加如下内容:hdfs://vm1:8020/在grunt环境下输入hd,然后按TAB,就可以自动补全hdfs://vm1:8020了。/conf/autocompl... 阅读全文
posted @ 2015-06-07 22:11
lishouguang
阅读(197)
评论(0)
推荐(0)
摘要:
pig脚本就是一个文件,保存了多条pig命令,通常后缀是.pig(不强制)。 多行注释:/**/ 单行注释:-- 下面是一个名字是test.pig的脚本的例子:/* test.pig 测试脚本*/data = load '/xx.data' using PigStorage(','); --... 阅读全文
posted @ 2015-06-07 22:10
lishouguang
阅读(778)
评论(0)
推荐(0)
摘要:
数据转换加载(ETL)数据流:读取原始数据(比如用户日志),进行数据清洗,进行简单的预计算后导入到数据仓库,比如join连接数据库里的用户信息。 阅读全文
posted @ 2015-06-07 22:08
lishouguang
阅读(530)
评论(0)
推荐(0)
摘要:
环境:hadoop-2.4.1、jdk1.6.0_45、pig-0.12.11、下载pig并解压tar -xzvf pig-0.12.1.tar.gz 2、设置环境变量export PIG_HOME=~/pig-0.12.1export PATH=$PATH:$PIG_HOME/bin 3、测试... 阅读全文
posted @ 2015-06-07 22:03
lishouguang
阅读(196)
评论(0)
推荐(0)
摘要:
TwitterStorm如何保证消息不丢失发表于2011年09月30日由xumingming作者:xumingming|可以转载,但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://xumingming.sinaapp.com/127/twitter-storm如何保证消息不丢... 阅读全文
posted @ 2015-06-07 22:01
lishouguang
阅读(237)
评论(0)
推荐(0)
摘要:
TwitterStorm:在生产集群上运行topology发表于2011年10月07日由xumingming作者:xumingming|可以转载,但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://xumingming.sinaapp.com/185/twitter-storm... 阅读全文
posted @ 2015-06-07 21:59
lishouguang
阅读(399)
评论(0)
推荐(0)
摘要:
默认情况下下,一个executor运行一个component,即一个task,但有时会指定多个task:1builder.setBolt("",newXxBolt()).setNumTasks(2);这是为了rebalance命令。 阅读全文
posted @ 2015-06-07 21:58
lishouguang
阅读(351)
评论(0)
推荐(0)
摘要:
1、Storm并行度相关的概念Storm集群有很多节点,按照类型分为nimbus(主节点)、supervisor(从节点),在conf/storm.yaml中配置了一个supervisor有多个槽(supervisor.slots.ports),每个槽就是一个JVM,就是一个worker,在每个wo... 阅读全文
posted @ 2015-06-07 21:57
lishouguang
阅读(1196)
评论(0)
推荐(0)
摘要:
监控指定文件夹,读取文件(新文件动态读取)里的内容,统计单词的数量。FileSpout.java,监控文件夹,读取新文件内容1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484... 阅读全文
posted @ 2015-06-07 21:56
lishouguang
阅读(519)
评论(0)
推荐(0)
摘要:
default.yaml文件所在位置:apache-storm-0.9.4.tar.gz/apache-storm-0.9.4/lib/storm-core-0.94.jar/default.yaml文件内容如下:1234567891011121314151617181920212223242526... 阅读全文
posted @ 2015-06-07 21:55
lishouguang
阅读(797)
评论(0)
推荐(0)
摘要:
1、下载、解压缩2、编辑conf/storm.yaml12345678910111213141516storm.zookeeper.servers:- "vm1"# - "server2"#storm.zookeeper.port: 2181storm.local.dir: "/usr/local/... 阅读全文
posted @ 2015-06-07 21:54
lishouguang
阅读(340)
评论(0)
推荐(0)
摘要:
概念本文列出了Storm的主要概念及相关的信息链接。讨论到的概念有:TopologiesStreamsSpoutsBoltsStreamgroupingsReliabilityTasksWorkersTopologies实时应用的逻辑被打包成了Storm topology。Storm topolog... 阅读全文
posted @ 2015-06-07 21:53
lishouguang
阅读(558)
评论(0)
推荐(0)
摘要:
参考文档:http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html一、独立模式(standalone mode)安装 1、下载zookeeper安装包并解压tar -zxvf zookeeper-3.4.6.tar.gz 2、在con... 阅读全文
posted @ 2015-06-07 21:49
lishouguang
阅读(246)
评论(0)
推荐(0)
摘要:
ZKUtils.javapackage test;import java.io.IOException;import java.util.concurrent.CountDownLatch;import org.apache.zookeeper.WatchedEvent;import org.apa... 阅读全文
posted @ 2015-06-07 20:03
lishouguang
阅读(503)
评论(0)
推荐(0)
摘要:
一端不停的更新配置,另一端监听这个配置的变化。 需要注意的是:监听端不一定读取到所有的变化。在zk服务器发送通知到客户端,客户端读取数据注册监听之间可能发生了多次数据变化,这些数据变化是得不到通知的。但可以保证的是每次通知得到的数据都是比之前的数据要新的。ZKUtils.javapackage... 阅读全文
posted @ 2015-06-07 19:58
lishouguang
阅读(306)
评论(0)
推荐(0)
摘要:
模拟leader选举:1、zookeeper服务器上有一个/leader节点2、在/leader节点下创建短暂顺序节点/leader/lock-xxxxxxx3、获取/leader的所有子节点并注册监听4、拿自己的顺序号跟其他子节点的顺序号比较,如果自己的是最小的则获得leader5、监听到/lea... 阅读全文
posted @ 2015-06-07 19:56
lishouguang
阅读(966)
评论(0)
推荐(0)
摘要:
使用ZooKeeper实现的FIFO队列,这个队列是分布式的。package fifo;import java.util.Collections;import java.util.List;import java.util.concurrent.CountDownLatch;import org.a... 阅读全文
posted @ 2015-06-07 19:52
lishouguang
阅读(753)
评论(0)
推荐(0)
摘要:
服务器端:监听zk上父节点的子节点变化package monitor;import java.util.List;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;import org.ap... 阅读全文
posted @ 2015-06-07 19:45
lishouguang
阅读(349)
评论(0)
推荐(0)
摘要:
Flume的一些组件(如Spooling Directory Source、File Channel)能够保证agent挂掉后不丢失数据。1、负载均衡1)LoadbalancingSinkProcessorsource里的event流经channel,进入sink组,在sink组内部根据负载算法(r... 阅读全文
posted @ 2015-06-07 17:43
lishouguang
阅读(1052)
评论(0)
推荐(0)
浙公网安备 33010602011771号