让我们紧缩大数据

作为开发人员,我们的重点是简单,有效的解决方案,因此,最有价值的原则之一就是“保持简单和愚蠢”。 但是使用Hadoop map-reduce很难坚持这一点。 如果我们要评估多个Map Reduce作业中的数据,那么最终将得到与业务无关但与下文相关的代码。 大多数非平凡的业务数据处理都涉及大量的map-reduce任务。 这意味着更长的胎面时间和更难测试的解决方案。

Google在FlumeJava论文中提出了针对这些问题的解决方案。 在实施Apache-Crunch时,对同一篇文章进行了修改。 简而言之, Crunch是一个Java库,可简化MapReduce管道的开发 。 它提供了一堆延迟评估的集合,可用于以map reduce作业的形式执行各种操作。

这是布罗克·诺兰德(Brock Noland)在介绍Crunch时发表的一篇文章中所说的

使用Crunch,对Hadoop和MapReduce知识有限的Java程序员可以利用Hadoop集群。 该程序是用纯Java编写的,不需要使用MapReduce特定的结构,例如编写Mapper,Reducer或使用Writable对象包装Java原语。

Crunch支持使用简单的读取API从各种来源读取数据,例如序列文件,avro,text,hbase,jdbc

<T> PCollection<T> read(Source<T> source)

您可以导入各种格式的数据,例如json,avro,thrift等,并执行有效的联接,聚合,排序,笛卡尔和过滤操作。 另外,这些集合上的任何自定义操作都非常容易烹饪。 您要做的就是实现非常简单的DoFn接口。 您可以在没有任何map-reduce结构的情况下对DoFn的实现进行单元测试。

我没有举任何例子来使用它。 这非常简单,可以在Apache-Crunch网站上找到相同的内容。

或者,您可以从可用的关键模型生成项目。 这还将生成一个简单的WordCount示例。 可以使用以下方式选择原型:

mvn archetype:generate -Dfilter=crunch-archetype

该项目有许多不同方面的示例,也可以在Scala中获得。

现在让我们来压缩一些数据!!!

参考: 让我们JCG合作伙伴 Rahul Sharma 收紧 到目前为止The road…博客博客中的大数据

翻译自: https://www.javacodegeeks.com/2012/10/lets-crunch-big-data.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值