[tips]Cascading~Hadoop的开源软件抽象层



Apache Tez—对MapReduce数据处理的归纳
http://www.infoq.com/cn/news/2013/09/TEZ

用【数据流来表现数据处理的理念】并不算新鲜——这正是Cascading的基础,而且许多使用Oozie的应用也实现了这一目的。

相比之下,Tez的优势在于,将这一切都放在了一个单一的框架中,并针对资源管理(基于Apache Hadoop YARN)、数据传输和执行,对该框架进行了优化。此外,Tez的设计还提供了对可热插拔的顶点管理模块的支持,用来收集来自任务的相关信息,并在【运行时改变数据流图,从而为了性能和资源使用进行优化】。


那些年,追过的开源软件和技术 - SDK.CN - 中国领先的开发者服务平台
https://www.sdk.cn/news/2842

Cascading/Scalding****:Cascading是Twitter收购的一个公司技术,主要是提供数据管道的一些抽象接口,然后又推出了基于Cascading的Scala版本就叫Scalding。Coursera是用Scalding作为MapReduce的编程接口放在Amazon的EMR运行。


SMAQ:海量数据的存储计算和查询模型(译) - 星星的日志 - 网易博客
http://duanple.blog.163.com/blog/static/709717672011016103028473/

// 与关系型数据库的集成
对于Hadoop系统来说,通过使用Cascading API中的cascading.jdbc和 cascading-dbmigrate也能实现类似的功能。

//Hive
与Pig和Cascading的需要进行编译相比,Hive的一个长处是提供即席查询。对于那些已经成熟的商务智能系统来说,Hive是一个更自然的起点,因为它提供了一个对于非技术用户更加友好的接口。Cloudera的Hadoop发行版里集成了Hive,而且通过HUE项目提供了一个更高级的用户接口,使得用户可以提交查询并且监控MapReduce job的执行。

// Cascading, the API Approach
Cascading提供了一个对Hadoop的MapReduce API的包装以使它更容易被java应用程序使用。它只是一个为了让MapReduce集成到更大的系统中时更简单的一个包装层。Cascading包括如下几个特性:
旨在简化MapReduce job定义的数据处理API
一个控制MapReduce job在Hadoop集群上运行的API
访问基于Jvm的脚本语言,比如Jython, Groovy, or JRuby.
与HDFS之外的数据源的集成,包括Amazon S3,web服务器
提供MapReduce过程测试的验证机制
Cascading的关键特性是它允许开发者将MapReduce job以流的形式进行组装,通过将选定的一些pipes连接起来。因此很适用于将Hadoop集成到一个更大的系统中。 Cascading本身并不提供高级查询语言,由它而衍生出的一个叫Cascalog的开源项目完成了这项工作。Cascalog通过使用ClojureJVM语言实现了一个类似于Datalog的查询语言。尽管很强大,Cascalog仍然只是一个小范围内使用的语言,因为它既不像Hive那样提供一个类SQL的语言,也不像Pig那样是过程性的。下面是使用Cascalog完成的wordcout的例子: (defmapcatop split [sentence] (seq (.split sentence "[\s](file://s/)+"))) (?<- (stdout) [?word ?count] (sentence ?s) (split ?s :> ?word) (c/count ?count))


Cascading - 基于Hadoop的数据管理和分析框架 - OPEN 开发经验库
http://www.open-open.com/lib/view/open1339233814849.html

[tips]Cascading~Hadoop的开源软件抽象层_第1张图片
Paste_Image.png
[tips]Cascading~Hadoop的开源软件抽象层_第2张图片
Paste_Image.png

Hadoop集群数据处理API:Cascading - OPEN 开发经验库
http://www.open-open.com/lib/view/open1324608886921.html

Cascading是一个架构在 Hadoop上的API,用来创建复杂和容错数据处理工作流。它抽象了集群拓扑结构和配置来快速开发复杂分布式的应用,而不用考虑背后的MapReduce。 Cascading目前依赖于 Hadoop提供存储和执行架构,但是Cascading API为开发者隔离了Hadoop的技术细节,提供了不需要改变初始流程工作流定义就可以在不同的计算框架内运行的能力。 Cascading使用了“pipe and filters”(管道和过滤)来定义数据处理进程。它支持分隔,合并,分组和排序操作,这是开发者唯一需要考虑的操作。Nathan Marz提供了一个范例: Goodbye MapReduce, Hello Cascading. Cascading对于使用Hadoop开发复杂应用是一个不错的解决方案。 这篇文章详细解释了Cascading整个架构和技术细节: A technical overview of the Cascading system


60款顶级大数据开源工具 - OPEN 开发经验库
http://www.open-open.com/lib/view/open1447487551725.html

4. Cascading
Cascading是一款基于Hadoop的应用程序开发平台。提供商业支持和培训服务。
支持的操作系统:与操作系统无关。
相关链接:http://www.cascading.org/projects/cascading/


硬啃 :读完这100篇论文,你就能成大数据高手!
http://mp.weixin.qq.com/s?src=3×tamp=1480386554&ver=1&signature=-r8lH53x44tEKlPJ1Dmi1mDLtKAj-miVvtTacKN46zKfCxCNX742JjR7VbUXLMu3NHK0RWV7R7Cal2BK8MerOORNeCqel4nHdXQgShUFyF-tpQXihxx67Hu5CLIoSzz4m4kYEsoA8q2AQYsBjzcHtA==

Cascading【91】 –这是一个架构在Hadoop上的API函数库,用来创建复杂的可容错的数据处理工作流(注:文献【91】是关于Hadoop上的Cascading的概论和技术随笔)。


一些大数据的案例 - 大数据和机器学习研究 - 博客频道 - CSDN.NET
http://blog.csdn.net/lizhe_dashuju/article/details/17324509

  1. Cascading5.1 背景 Cascading是一个开源的Java库,为MapReduce提供抽象层。用Java写Hadoop的MapReduce是有难度的:cascading用简单字段名和数据元组模型代替MapReduce的key-value;cascading引入了【比Map和Reduce更抽象的层次,如Function, Fileter, Aggregator和Buffer。】
    5.2 使用情况
    Cascading以字段名和元组的方式,把多个MapReduce的处理简化成一个管道链接起来的形式处理数据。从例子来看非常简洁,需要的代码很少。

盘点九大热门开源大数据技术 - IT经理网
http://www.ctocio.com/bigdata/7080.html

[tips]Cascading~Hadoop的开源软件抽象层_第3张图片
Paste_Image.png

作为Hadoop的开源软件抽象层,Cascading允许用户使用任何基于JVM的语言在Hadoop集群上创建并执行数据处理工作流。Cascading能隐藏MapReduce任务底层的复杂性。Chris Wensel设计Cascading的目的是成为MapReduce的一个备用API。Cascading经常被用于广告定向统计、日志文件分析、生物信息学分析、机器学习、预测分析、web内容文本挖掘以及ETL应用。Cascading的商业支持由Concurrent公司提供,该公司由Cascading的设计者Wensel创建。使用Cascading的知名网站包括Twitter和Etsy。Cascading在GNU下开源。

你可能感兴趣的:([tips]Cascading~Hadoop的开源软件抽象层)