自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 hbase bulk load 小实践及一些总结

很早就知道bulk load这个东西,也大致都清楚怎么回事,居然直到前几天才第一次实践... 这篇文章大致分为三个部分:1. 使用hbase自带的importtsv工具2. 自己实现写mr生成hfile并加载3. bulk load本身及对依赖的第三方包的一些总结第一部分:导入的文件是data.txt,符合tsv格式,如下:做一些准备工作:a. 在hdfs上

2013-11-30 18:30:33 6946 1

原创 hbase bulk load相关源码简析之PutSortReducer、KeyValueSortReducer

PutSortReducer:// 对map阶段传递过来的puts中的KVs做排序,并将有序的KVs写到输出流(最终写的类是HFileWriterV1或HFileWriterV2的append方法)...public class PutSortReducer extends Reducer { @Override protected void reduce(ImmutableByt

2013-11-30 16:47:04 2671

原创 hbase bulk load相关源码简析之HFileOutputFormat、LoadIncrementalHFiles

hbase bulkload主要涉及的类有这么几个:HFileOutputFormatLoadIncrementablHFilePutSortReducerKeyValueSortReducerSimpleTotalOrderPartitionerTotalOrderPartitioner前两个比较重要,特别是HFileOutputFormat中的public st

2013-11-28 17:24:41 7310

原创 hbase coprocessor小实践引发的对coprocessor异常处理机制的探究

最近又翻回头看了看hbase cp相关的东西,就思考写一个实例,其中包含masterobserver、regionobserver和endpoint。最终大致定了这么一些场景:对于表名符合相关规则的表在建表的同时再建一个与之相关的sibling table;自定义InternalPut,只允许使用InternalPut来插入数据,并且给该InternalPut增加一个名为heapsiz

2013-10-23 14:55:45 2814 1

翻译 getting start with storm 翻译 第八章 part-3

摘要:《getting start with storm》 中文版 第八章 part-3,博客中以连载的方式包含完整章节。

2013-10-08 15:23:24 2198

翻译 getting start with storm 翻译 第八章 part-2

摘要:《getting start with storm》 中文版 第八章 part-2,博客中以连载的方式包含完整章节。

2013-10-08 15:22:29 2220 1

翻译 getting start with storm 翻译 第八章 part-1

摘要:《getting start with storm》 中文版 第八章 part-1,博客中以连载的方式包含完整章节。

2013-10-08 15:12:46 2368

翻译 getting start with storm 翻译 第七章 part-2

摘要:《getting start with storm》 中文版 第七章 part-2,博客中以连载的方式包含完整章节。

2013-08-15 19:37:17 1720

翻译 getting start with storm 翻译 第七章 part-1

摘要:《getting start with storm》 中文版 第七章 part-1,博客中以连载的方式包含完整章节。

2013-08-15 19:30:44 2127

翻译 getting start with storm 翻译 第六章 part-4

摘要:《getting start with storm》 中文版 第六章 part-4,博客中以连载的方式包含完整章节。

2013-08-15 14:34:37 1918

翻译 getting start with storm 翻译 第六章 part-3

摘要:《getting start with storm》 中文版 第六章 part-3,博客中以连载的方式包含完整章节。

2013-08-15 10:21:09 1672

翻译 getting start with storm 翻译 第六章 part-2

摘要:《getting start with storm》 中文版 第六章 part-2,博客中以连载的方式包含完整章节。

2013-08-14 20:56:53 1883

翻译 getting start with storm 翻译 第六章 part-1

第六章 一个真实的示例本章要阐述一个典型的web分析解决方案,一个经常使用hadoop批量作业来解决的问题。不同于hadoop的实现,基于storm的解决方案将显示实时刷新的结果。我们的示例包含三个主要的组件(见图6-1):﹒一个Node.js网络应用,用来测试系统﹒一个Redis服务器,用来持久化数据。﹒一个storm topology,用于实时分布式数据处理。图

2013-08-14 20:09:01 1756

翻译 getting start with storm 翻译 第五章

第五章 Bolts正如你看到的,bolts是一个storm集群中的关键组件。在本章中,你将看到一个bolt的生命周期,bolt的设计策略,以及怎样实现它们的一些示例。Bolt生命周期Bolt是一种将元组作为输入并且制造元组作为输出的组件。当你实现一个bolt的时候,你通常实现IRichBolt接口。Bolts在客户端机器被创建,序列化至topology中,并提交至集群中的master机

2013-08-14 19:39:02 2032

翻译 getting start with storm 翻译 第四章 part-3

队列消息第二个方法是连接你的spouts到一个排队系统,该系统将从消息发射器接收消息并将消息供spouts消费。使用排队系统的优点是它可以作为spouts和数据源之间的中间件。很多时候你可以通过排队来做多队列的消息回放。这意味着你不需要知道任何关于消息发射器的图4-3 直接连接协调器东西,添加和删除发射器比直接连接更简单。这种架构的问题是队列将成为你的失败点,并且你将你的处理流

2013-08-14 16:07:50 1679

翻译 getting start with storm 翻译 第四章 part-2

获取数据这里你将看到一些常用的设计spouts的方法,它们可以从多个源有效的收集数据。直接连接在直接连接的架构中,spout直接连接到一个消息发射器(见图4-1)。图4-1 直接连接的spout这种架构实现简单,特别是当消息发射器是一个众所周知的设备或设备组时。一个众所周知的设备是指一个在启动时就被知晓并且在整个topology生命周期中都保持一致的设备。一个未知的设备

2013-08-14 15:48:49 1955

翻译 getting start with storm 翻译 第四章 part-1

第四章 Spouts在本章中,你会看到设计topology入口点(spout)的最常用的策略和怎样使得spouts容错。可靠消息 versus不可靠消息当设计topology的时候,一件要时刻记在脑中的重要事情是消息的可靠性。如果一个消息不能被处理,你需要决定对这条单独的消息该做什么,对于整个topology该做什么。例如,当处理银行存款时,不遗漏一条交易消息是重要的。但是如果你处理上

2013-08-14 15:23:36 1579

翻译 getting start with storm 翻译 第三章 part-2

LocalCluster versus StormSubmitter到目前为止,你使用了叫做LocalCluster的设施来在你本地的电脑中运行topology。在你的电脑里运行storm的基础设施使你可以方便的运行和调试不同的topologies。但是当你想提交你的topology到一个正在运行的storm集群时怎么样呢?storm的一个有趣的特点是提交你的topology到一个实际的集群中

2013-08-14 14:43:53 1825

翻译 getting start with storm 翻译 第三章 part-1

第三章 Topologies在本章中,你将看到怎样在一个storm topology的不同组件之间传递元组,以及怎样在一个运行的storm集群上部署topology。流分组在设计一个topology的时候,你需要做的最重要的事情是定义数据在组件之间怎样交换(流怎样被bolts消费)。流分组指定了每个bolt消费哪些流和这些流被怎样消费。一个结点可以发射不止一条数据流。流分组允许我们

2013-08-14 14:10:15 2143

翻译 getting start with storm 翻译 第二章 part-2

Bolts现在我们有了一个spout来读取文件并且每一行发射一个元组。我们需要建立两个bolt来处理元组(见图2-1)。这些bolts实现了backtype.storm.topology.IRichBolt接口。Bolt最重要的方法是voidexecute(Tuple input),每收到一个元组调用一次。对于每个收到的元组,bolt会发射出一些元组。bolt或者spout可以发射如所

2013-08-14 11:35:26 2326

翻译 getting start with storm 翻译 第二章 part-1

第二章 开始在本章中,我们会建一个storm工程和我们的第一个storm topology。 下述假设你安装了至少1.6版本的Java运行时环境(JRE)。我们推荐使用oracle提供的JRE,可以在这里找到http://www.java.com/downloads/。操作模式在我们开始之前,理解storm的操作模式很重要。有两种方式运行storm。本地模式在本地模式中

2013-08-14 10:50:42 3266

翻译 getting start with storm 翻译 第一章

将去年年底翻译的书拿出来与大家分享,水平有限,欢迎大家批评指导~  转载请注明出处:第一章 基础Storm是一套分布式的、可靠的,可容错的用于处理流式数据的系统。处理工作会被委派给不同类型的组件,每个组件负责一项简单的、特定的处理任务。Storm集群的输入流由名为spout的组件负责。Spout将数据传递给名为bolt的组件,后者将以某种方式处理这些数据。例如bolt以某种存储

2013-08-14 10:15:59 4479 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除