数据模型(Data Model)
storm使用tuple来作为它的数据模型。每个tuple是一堆值,每个值有一个名字,并且每个值可以是任何类型, 在我的理解里面一个tuple可以看作一个没有方法的java对象。总体来看,storm支持所有的基本类型,字符串以及字节数组作为tuple的值类 型。你也可以使用你自己定义的类型来作为值类型,
只要你实现对应的序列化器(serializer)。 ...
分类:
其他好文 时间:
2015-05-26 18:54:46
阅读次数:
98
文件夹的创建是一个相对简单的过程,主要是通过FileSystem中的mkdirs()方法,这个方法在DFSClient实例中调用同名方法mkdirs(),通过Hadoop本身的RPC机制调用Namenode的mkdirs()方法,最终这个调用PUSH到FSNameSystem的mkdirsInternal方法,这个方法主要就是检验访问权限,最后通过FSDirectory的unprotectedMk...
分类:
其他好文 时间:
2015-05-26 18:52:19
阅读次数:
244
我们开始来分析HadoopMapReduce的内部的运行机制。用户向Hadoop提交Job(作业),作业在JobTracker对象的控制下执行。Job被分解成为Task(任务),分发到集群中,在TaskTracker的控制下运行。Task包括MapTask和ReduceTask,是MapReduce的Map操作和Reduce操作执行的地方。这中任..
分类:
其他好文 时间:
2015-05-26 16:31:53
阅读次数:
143
我们开始来分析Hadoop MapReduce的内部的运行机制。用户向Hadoop提交Job(作业),作业在JobTracker对象的控制下执行。Job被分解成为Task(任务),分发到集群中,在TaskTracker的控制下运行。Task包括MapTask和ReduceTask,是MapReduce的Map操作和Reduce操作执行的地方。这中任务分布的方法比较类似于HDFS中NameNode和...
分类:
其他好文 时间:
2015-05-26 12:47:45
阅读次数:
146
前面已经完成了对org.apache.hadoop.mapreduce的分析,这个包提供了Hadoop
MapReduce部分的应用API,用于用户实现自己的MapReduce应用。但这些接口是给未来的MapReduce应用的,目前MapReduce框架还是使用老系统(参考补丁HADOOP-1230)。下面我们来分析org.apache.hadoop.mapre..
分类:
其他好文 时间:
2015-05-25 20:44:11
阅读次数:
139
流分组在设计一个topology的时候,你需要做的最重要的事情是定义数据在组件之间怎样交换(流怎样被bolts消费)。流分组指定了每个bolt消费哪些流和这些流被怎样消费。一个结点可以发射不止一条数据流。流分组允许我们选择接收哪些流。正如我们在第二章看到的,当topology被定义的..
分类:
其他好文 时间:
2015-05-25 20:36:05
阅读次数:
135
查询语法
1.匹配所有文档:*:*
2.强制、阻止和可选查询:
1) Mandatory:查询结果中必须包括的(forexample, only entry name containing the word make)
Solr/LuceneStatement:+make,+make +up ,+make +up +kiss
2) prohibited:(...
分类:
其他好文 时间:
2015-05-25 18:53:35
阅读次数:
180
流分组
在设计一个topology的时候,你需要做的最重要的事情是定义数据在组件之间怎样交换(流怎样被bolts消费)。流分组指定了每个bolt消费哪些流和这些流被怎样消费。
一个结点可以发射不止一条数据流。流分组允许我们选择接收哪些流。
正如我们在第二章看到的,当topology被定义的时候流分组就被设置好了:
...
builder.setBolt("word-normal...
分类:
其他好文 时间:
2015-05-25 18:46:40
阅读次数:
151
集群模式的配置
为了确保ZooKeeper服务的稳定与可靠性,通常是搭建成一个ZK集群来对外提供服务。关于ZooKeeper,需要明确一个很重要的特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的(本文下面就用―过半存活即可用‖来代替这个特性吧^-^)。正是基于这个特性,建议是将ZK集群的机器数量控制为奇数较为合适。为什么选择奇数台机器,我们可以来看一下,假如是4台机器构成的...
分类:
其他好文 时间:
2015-05-25 18:46:23
阅读次数:
124
Pig是作为客户端运行的程序,你需要将其连接到本地Hadoop或者集群上。当安装Pig之后,有三种执行pig程序的方法:pig脚本 (将程序写入.pig文件中),Grunt(运行Pig命令的交互式shell环境)和嵌入式方式。
records = Load ‘sample.txt’ as (year:chararray, temperature:int, quality:int);
f...
分类:
其他好文 时间:
2015-05-25 18:45:18
阅读次数:
151