写点什么

Cascading 2.5 支持 Hadoop 2

2014 年 1 月 07 日

尽管 Hadoop 技术的运用越来越广泛,而且一直在增长,但是很多企业仍然面对着一个问题,即寻找恰当的方法来快速经济地开发基于Hadoop 的应用。有一种方法可以大大简化这类应用,就是使用领域特定语言(DSL)。

在底层MapReduce API 之上,最为流行的一种Java 领域特定语言就是 Cascading 。Cascading 是在 2007 年底作为一种领域特定语言引入的,用于实现面向大规模数据工作流的函数式编程。它基于“管道(Plumbing)”这种隐喻将数据处理定义为构建于我们熟悉的一组元素之上的工作流,这些元素是: Pipe、Tap、元组行、Filter、Join、Trap 等。

本周,Cascading 发布了该产品的最新版本——Cascading 2.5,将支持 Hadoop 2,以及 YARN。根据该公司的新闻稿,该产品的新特性有以下几点:

  • 支持 Hadoop 2 及其新特性,支持 YARN。希望升级到 Hadoop 2 的 Cascading 用户,能够无缝地迁移其应用,并且能够使用像 YARN 这样的较新的高级特性。
  • 对复杂的连接(JOIN)操作有额外的性能改进,对于处理后的数据在 HDFS 上的动态分区和存储进行了优化,使其更为高效。
  • 与其他 Hadoop 厂商以及 Hadoop 即服务的提供者有了更广的兼容性,包括兼容 Cloudera、Hortonworks、MapR、Intel、Altiscale、 Qubole 及 Amazon EMR 等,不论在本地(on-premise)还是在云端,为 Cascading 用户提供了更丰富的部署选择。

同时,Concurrent 还发布了 Cascading Lingual 的 GA 版本。Cascading Lingual 是一个开源项目,该项目对访问基于 Hadoop 的数据提供了全面的 ANSI SQL 接口。该项目还涵盖了超过 7 千条从成熟的工业标准 OLAP 工具继承而来的 SQL-99 语句。根据 Concurrent 的说法:

为 Hadoop 生态系统内的任何工具都带来了最广泛的 SQL 覆盖。它有两方 面创新:使 Hadoop 变得简单、容易使用;只需要一条 SQL 语句,就能很 简单地将多个数据存储集成到 Hadoop 中。

InfoQ 有幸同 Concurrent 公司的创始人及首席技术官 Chris K Wensel 讨论了有关 Cascading 最新版本的一些话题。

InfoQ当您提到 Cascading 2.5 对 YARN 的支持时,具体指的是什么?是 MapReduce 代码使用了 YARN 资源管理器,还是实际上利用 YARN 创建了一个新的特定于 Cascading 的应用管理器?

WenselCascading 2.5 隐性地支持 YARN。因为 Cascading 2.5 支持 Hadoop 2,所以它也支持 YARN 功能。Cascading 实际上并未利用 YARN 进行应用开发。

InfoQ对于利用 Apache Tez 进一步改进 Cascading 应用的性能,您是否有具体的计划?

Wensel是的,在我们的产品发展路线图上的确有关于 Tez 的计划,我们会在适当的时间向公众宣布相应更新。

InfoQ您能针对复杂连接的优化及性能提高为我们解释一下吗?

Wensel我们更新了 API,以支持更为复杂、定制的连接类型。比如:在某些特定情况下 Cascalog 能够利用这个特性。

InfoQ在您看来,我们对于基于 SQL 处理的强调是否会限制 Hadoop 为依托的应用开发?不论 SQL 有多棒,它只是对于解决某类问题有些好处,而对于利用 Hadoop 的企业而言,这只是应用的一个有限子集。

WenselSQL 几乎能够支持其余 99% 的开发人员、分析师以及遗留系统使用 Hadoop。是的,你的确可能遇到使用 SQL 会有所限制的情况,但是对于大部分问题而言,90% 都可以通过 SQL 来表述。Cascading 给人们提供了选择。你不妨问问自己这个问题:有谁愿意写一堆 Java 代码来完成一句 SQL 语句就能实现的操作?又有谁愿意写几百行 SQL 语句来取代最好是用 Java 来编写并测试的某个操作?Cascading 给广大开发人员带来了灵活性。

查看英文原文: Cascading 2.5 Supports Hadoop 2


感谢臧秀涛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014 年 1 月 07 日 08:321129

评论

发布
暂无评论
  • 如何自己开发一个大数据 SQL 引擎?

    今天我们通过一个支持标准SQL语法的大数据仓库引擎的设计开发案例,看看如何自己开发一个大数据SQL引擎。

    2018 年 12 月 8 日

  • 十年前只想混一个 Apache 邮箱装逼,十年后却成了顶级项目创始人

    Kylin意味着我的一切

    2019 年 1 月 11 日

  • Spark 3.0 重磅发布!开发近两年,流、Python、SQL 重大更新全面解读

    Spark 3.0开发历时近两年终于发布,都有哪些重要功能?

  • 在 Amazon EMR 上运行带有多种 GPU 实例类型的深度学习框架

    今天,AWS 很高兴地宣布 Amazon EMR 将支持 Apache MXNet 和新一代 GPU 实例类型,让您可以在进行机器学习工作流程和大数据处理的同时运行分布式深度神经网络。

  • Hive 未来两年的路线图

    Hive是一个基于Hadoop的数据仓库平台,它是SQL-on-Hadoop框架的代表项目。但传统观点认为,它处理交互式查询的速度不够快。不过,今年4月,Hortonworks完成了Stinger项目的目标,不仅改进了Hive的功能,还将其性能提升了100倍。9月3日,Hortonworks宣布开始下一阶段的工作,即Stinger.next。

  • 2019 年,Hadoop 还是数据处理的可选方案吗?

    目前云驱动数据处理和分析呈上升趋势,那么在2019年,Apache Hadoop 是否还是一个可选方案。

  • Nikita Ivanov 谈 GridGain 的 Hadoop 内存片内加速技术

    GridGain最近发布了Hadoop内存片内加速技术,可以为Hadoop应用带来内存片内计算的相关收益。它包括了两个单元:内存片内文件系统和相关的MapReduce实现。InfoQ采访了GridGain的CTO Nikita Ivanov,以了解这个产品的相关架构。

  • Hortonworks 数据平台向企业化应用推进

    Hortonworks数据平台(HDP)2.2版本,围绕Hadoop和YARN,对一些企业化特性,如安全性,合规性等,提供了更好的支持。

  • 实时流处理新选择:LinkedIn 重磅发布 Samza 1.0

    流数据平台又来一个踢馆的!

  • 产品图鉴:哪些分布式数据库值得看?

    今天这一讲,我会把视角切换到产品方向,为你做一次整体介绍。所以,你也可以将这一讲当作一个产品版的课程索引。

    2020 年 10 月 16 日

  • Twitter 如何应用 Druid 分析 ZB 级实时数据?

    为了提高大数据系统的性能,部署规模,和信息安全,Twitter 大数据团队对 Presto 和 Druid 进行了大量的改进与优化。

  • Julien Nioche 谈 Apache Nutch 2 的特性及产品路线图

    开源的Web搜索框架Apache Nutch的2.1版本已于2012年10月5日发布,该版本的新特性包括:支持一些改进属性,用于更好地配置Solr;更新到各个Gora依赖;可以选择构建弹性搜索中的索引。Nutch既可以运行在单台服务器上,也可以用作大规模抓取平台运行在Hadoop集群上。InfoQ采访了Apache Nutch项目的副总裁Julien Nioche,他也是DigitalPebble Ltd的主管。他将于2012年11月7日在Apache Conference Europe上介绍如何使用Nutch框架进行大规模抓取。

  • 太多选择——如何挑选合适的大数据或 Hadoop 平台?

    在本文中,Kai Wähner 就安装某个版本的Hadoop并实现大数据处理的几种选择作了比较。他还比较了Apache和很多其它提供商的发行版本和工具,这些提供商包括Cloudera、HortonWorks、MapR、Amazon、IBM、Oracle、Microsoft。此外,他介绍了每个发行版本的优缺点,并通过一个决策树来帮助读者做出最合适的选择。

  • 把嵌套列表作为 Apache Spark SQL 的首选

    演讲嘉宾DB Tsai is an Apache Spark PMC / Committer and an open source and staff software engineer at Apple Siri. He implemented several algorithms including linear models with Elastici-Net (L1/L2) regularization using LBFGS/OWL-QN optimizers in Apache Spark. Prior to joining Apple, DB worked on Personalized Recommendation ML Algorithms at Netflix. DB was a Ph.D. candidate in Applied Physics at Stanford University. He holds a Master’s degree in Electrical Engineering from Stanford.译文参考:蔡東邦老师是 Apache Spark PMC / Committer,同时也是 Apple Siri 的主任工程师。他将多个算法应用到了 Apache Spark 当中,包括使用了 LBFGS / OWL-QN 优化器 的 Elastici-Net(L1 / L2)正则化的线性模型。在加入 Apple Siri 之前,蔡老师在Netflix从事个性化推荐机器学习算法的研究工作。目前是斯坦福大学应用物理专业的博士候选人,也获得了斯坦福大学电气工程硕士学位。内容介绍Making Nested Columns as First Citizen in Apache Spark SQLApple Siri is the world’s largest virtual assistant service powering every iPhone, iPad, Mac, Apple TV, Apple Watch, and HomePod. We use large amounts of data to provide our users the best possible personalized experience. Our raw event data is cleaned and pre-joined into an unified data for our data consumers to use. To keep the rich hierarchical structure of the data, our data schemas are very deep nested structures. In this talk, we will discuss how Spark handles nested structures in Spark 2.4, and we’ll show the fundamental design issues in reading nested fields which is not being well considered when Spark SQL was designed. This results in Spark SQL reading unnecessary data in many operations. Given that Siri’s data is super nested and humongous, this soon becomes a bottleneck in our pipelines.Then we will talk about the various approaches we have taken to tackle this problem. By making nested columns as first citizen in Spark SQL, we can achieve dramatic performance gain. In some of our production queries, the speed-up can be 20x in wall clock time and 8x less data being read. All of our work will be open source, and some has already been merged into upstream.参考译文:Apple Siri是世界上最大的虚拟助理服务,为每部 iPhone,iPad,Mac,Apple TV,Apple Watch 和 HomePod 提供服务支持。我们使用大量数据来为用户提供最佳的个性化体验。所有的原始事件数据被清理并预先加入到统一数据中,供我们的数据使用者使用。为了保持数据的丰富层次结构,我们的数据模式采用了非常深的嵌套结构。在本次演讲中,我将讨论 Spark 如何处理 Spark 2.4 中的嵌套结构,还会展示读取嵌套字段时的基本设计问题,这些问题在设计 Spark SQL 时并未得到充分考虑。这就导致了 Spark SQL 在许多操作中读取不必要的数据。鉴于 Siri 超级嵌套的数据非常庞大,它很快就成了瓶颈所在。之后,我会介绍为解决这个问题所采取的各种方法。将嵌套列作为 Spark SQL 中的第一个公民,在性能上获得显着的提升。在我们的一些生产查询中,加速20倍,读取的数据减少8倍。我们所有的工作都将开源,有些已经合并到了核心区域。

    2019 年 7 月 26 日

  • Apache Spark 1.2.0 发布:引入基于 Netty 的实现,支持高可用,并提供机器学习 API

    Apache Spark 1.2.0已经发布,Spark核心引擎在性能和可用性方面都有很大改进。这是来自60多家研究机构和公司的172位贡献者的成果,包括了1000多个补丁。

  • 02 丨 DBMS 的前世今生

    今天我们先从SQL语言中跳脱出来,来分析下常见的DBMS。

    2019 年 6 月 14 日

  • 利用 Big SQL 管理 Hadoop 数据

    Big SQL 是基于 Hadoop 的平台 InfoSphere BigInsights 的 SQL 接口,旨在让 SQL 开发人员能够轻松地掌握对 Hadoop 管理的数据的查询。它使数据管理员能够为 Hive、HBase 或他们的 BigInsights 分布式文件系统中存储的数据创建新表。来自IBM的工程师Cynthia和Uttam对Big SQL做了简要的介绍。

  • 构建现代化数仓 将 MPP DBMS 迁移至 Spark

    本次分享介绍 eBay 将 MPP DBMS 迁移至 Spark 过程中的实践,经验与优化。

  • Concurrent 发布 Lingual——一种用于 Hadoop 的领域专用语言

    Concurrent股份有限公司是一家企业级大数据应用平台公司,该公司近期发布了Lingual,它是一个开源项目,它能够使Apache Hadoop上的大数据应用开发可以快速、简单地使用SQL。

  • Hadoop 三国之魏国 Cloudera

    Hadoop领域有三家发行商互相角逐,这其中不乏各种战术与谋略。今天是Cloudera“挟天子以令诸侯”的故事。

    2018 年 3 月 5 日

发现更多内容

设计模式示例

imicode

架构师 0 期第三周作业(命题作业)

何伟敏

设计模式-单例与组合

ashuai1106

架构师 极客大学架构师训练营

架构师训练营第三周总结

王鑫龙

架构师训练营-第三周-20200624-学习总结

丁亚宁

极客大学架构师训练营

第三周作业

南宫煌

极客大学架构师训练营

架构师第三周作业

G小调

架构师week3总结

平淡人生

开源项目中的设计模式

dony.zhang

组合模式实现树结构

新世界

架构师week3作业

平淡人生

Week3学习总结

熊威

架构师训练营第三周学习总结

whiter

极客大学架构师训练营

基于Jira的产品需求全生命周期管理实践

YY哥-杨勇

需求管理

深入理解JVM垃圾回收机制 - 引用类型

NORTH

深入理解JVM 强引用 软引用 弱引用 虚引用

我嗅到了数据开发工程师的危机

无箭的丘比特

大数据 数据仓库 数据分析 数据开发

架构师训练营第三周 - 总结

Larry

如何编写高质量代码之设计模式

imicode

都在讲DevOps,但你知道它的发展趋势吗?

陈琦

DevOps 自动化

第三周学习总结

G小调

插入排序

wjchenge

插入排序

架构师训练营第三周学习总结:面向对象设计和设计模式

hifly

设计模式 极客大学架构师训练营 OOD SOLID 策略模式

一周信创舆情观察(6.15~6.21)

统小信uos

新基建 信创 matlab 舆情

架构师训练营第三周总结

架构师 极客大学架构师训练营

第三周作业:设计模式

Larry

第三周作业

架构师训练营 -Week 03 命题作业

华乐彬

极客大学架构师训练营 作业

作业一

Thrine

组合模式

俊俊哥

设计模式 组合模式

第三周设计模式作业

架构师训练营-第三周-20200624-单例模式和组合模式

丁亚宁

极客大学架构师训练营 课程作业

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

Cascading 2.5 支持 Hadoop 2-InfoQ