最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

LinkedIn 开源高可用 Hadoop 工具集 Gradle

  • 2015-08-28
  • 本文字数:1011 字

    阅读完需:约 3 分钟

许多大科技公司都是开源事业的参与者和引领者,比如 Google、Netflix、Facebook 等公司,它们开源后的工具被广泛使用。现在,LinkedIn 也加入了开源大家庭。LinkedIn 的工程师创建了一个名为 Gradle 的项目,该项目包含了若干个可以在应用中简化连接多个 Hadoop Job 的工作流工具。

创建运行在 Hadoop 集群上的应用的难点众所周知,而 Gradle 则是一项十分有潜力的高效解决方案。适用于 Apache Hadoop 的 LinkedIn Gradle 插件(Hadoop 插件)包含了同样适用于 Apache Hadoop 的 LinkedIn Gradle DSL(Hadoop DSL)。几年前,LinkedIn 公司就已采用 Gradle 作为其基础软件构建系统。Gradle 使得 Hadoop 开发者能够更高效地完成应用程序的编译、测试和调配。Gradle 还可以帮助开发者方便地使用多个 Hadoop 应用框架。不管在开发时使用了什么工具,Hadoop 插件都可以让开发者在一致的体验下管理他们的项目。

在开发出 Hadoop 插件之前很久,LinkedIn 的工程师们就意识到了编写个人的 Hadoop Job 仅仅是有效使用 Hadoop 挑战的一部分。LinkedIn 上数据驱动的特征实际上是由几十个 Azkaban Apache Oozie 管理的 Hadoop Job 工作流产生的。理解工作流中各个 Job 之间的关系并且管理工作流手册成为了一项难点。例如,为了指定 LinkedIn 上运行的一些处理大数据的工作流,需要用到非常多的 Job 文件,工程师为此写了几个内部开发的工具以便更简单地处理工作流。然而这些工具都是使用了 Ant、Maven 和 Ruby 混合编成,这就阻碍了全公司上下全面采用 Gradle 的进程。随着时间的推移,系统变得越来越脆弱,维护也变得越来越困难。为了解决以上问题,LinkedIn 开发了 Hadoop DSL。

Hadoop DSL 是一个基于特定领域的嵌入式 Groovy 语言,开发者可以在 DSL 中随意使用 Groovy 或 Java。它有着自然语言的结构,适用于特定的 Job 和诸如 Azkaban、Apache Oozie 等 Hadoop 工作流管理器。另外,DSL 是静态编译的,因此也可以进行静态检查。静态检查器可以在编译时检查出工作流文件中的常见问题,这样就避免了在运行 Hadoop 工作流几个小时后才报出错误。

Gradle 和 Hadoop DSL 已经成为了 LinkedIn 开发 Hadoop 工作流的标准工具。源代码在 GitHub 上。


感谢魏星对本文的审校。

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

2015-08-28 19:003943
用户头像

发布了 268 篇内容, 共 118.1 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

利器 | AppCrawler 自动遍历测试实践(三):动手实操与常见问题汇总

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

Python 自动化测试(五): Pytest 结合 Allure 生成测试报告

测吧(北京)科技有限公司

Python 自动化测试 pytest

利器 | 接口自动化测试框架 RESTAssured 实践(三):对 Response 结果导出

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

软件测试 | 测试开发 | Web服务端推送技术介绍

测吧(北京)科技有限公司

Web 软件测试

软件测试 | 测试开发 | 如何利用 xUnit 框架对测试用例进行维护?

测吧(北京)科技有限公司

软件测试

只懂黑盒测试也能学会的代码覆盖率及精准化测试

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

软件测试 | 测试开发 | 免安装免配置环境的免费 ios 调试工具 sib 来啦

测吧(北京)科技有限公司

ios 测试

利器 | REST Assured 实践(二):断言实现

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

面试官:如何组装一个注册中心?

Java永远的神

编程 程序员 面试 微服务 注册中心

程序员交接代码中被植入了恶意删除操作,太狠了!

程序员小毕

Java 程序员 面试 程序人生 码农

代码质量管理平台实战| SonarQube 安装、配置及 JaCoCo、Maven 集成

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

代码分析体系及Sonarqube平台

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

GaussDB(for Redis)双活容灾支持4大应用场景,全新守护业务安全

华为云开发者联盟

数据库 后端 企业号九月金秋榜

DevStream 社区贡献者英雄榜上线啦!

玩转Devop和研发效能DevStream/DevLake

开源 DevOps 开源社区 DevStream 开源运营

不懂PO 设计模式?这篇实战文带你搞定 PO

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

一文搞懂测试左移和测试右移的 Why-How-What

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

一文彻底理解 Cookie、Session、Token

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

软件测试 | 测试开发 | HttpRunner初体验

测吧(北京)科技有限公司

软件测试 测试

从 Linux 内核角度探秘 JDK NIO 文件读写本质

bin的技术小屋

Linux jdk nio Linux Kenel 文件I/O

利器 | TestNG 与 Junit 对比,测试框架如何选择?

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

数据可视化系列教程之React组件使用技巧

云智慧AIOps社区

前端 React 数据可视化

云架构系统如何做性能分析?| 实战干货

霍格沃兹测试开发学社

软件测试 自动化测试 测试开发

日志易正式加入华为云云商店联营模式,并受邀参与首届828 B2B企业节

IT资讯搬运工

华为 华为云

软件测试 | 测试开发 | java远程连接ssh的实现

测吧(北京)科技有限公司

java;

Apache Hudi X Apache Kyuubi,中国移动云湖仓一体的探索与实践

网易数帆

大数据 Kyuubi Hudi LakeHouse 湖仓一体

利器 | Java 接口自动化测试首选方案:REST Assured 实践 (一)

霍格沃兹测试开发学社

CodeLab:一款让你体验丝滑般的云化JupyterLab

华为云开发者联盟

人工智能 华为云 企业号九月金秋榜

一文带你了解K8S 容器编排(下)

霍格沃兹测试开发学社

软件测试 | 测试开发 | Pytest 测试框架,零基础也能轻松 hold 住

测吧(北京)科技有限公司

软件测试 测试

Github最新霸榜!Alibaba架构师手写的分布式系统核心原理手册

了不起的程序猿

Java 分布式 开发 分布式系统 java程序员

你以为Shell只是命令行?读懂这篇文,给你的工作赋能

霍格沃兹测试开发学社

LinkedIn开源高可用Hadoop工具集Gradle_Java_张天雷_InfoQ精选文章