速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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:004056
用户头像

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

关注

评论

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

华为云CodeArts Pipeline常见问答汇总

华为云PaaS服务小智

华为云

最佳 Mock 工具排行榜: 顶级5个必知选择

Liam

前端 前端开发 Mock Mock 服务 Mock.js

低代码平台浅析:引迈JNPF

互联网工科生

低代码 JNPF 引迈

AI浪潮下,大模型如何在音视频领域运用与实践?

不在线第一只蜗牛

人工智能 AI 音视频 大模型

管理 Kubernetes 集群这3年,我踩过的十个坑

高端章鱼哥

Kubernetes 计算机

项目实战接口开发SpringBoot

不在线第一只蜗牛

springboot 项目开发 区块链项目开发

亮相CCF中国软件大会,天翼云助力千行百业搭上“数字快车”

天翼云开发者社区

人工智能 CCF

华为云CodeArts Repo常见问答汇总

华为云PaaS服务小智

华为云

诚邀报名|聚焦项目管理和社区协作,解读开源治理前沿见解和最佳实践

开放原子开源基金会

Java 开源 程序员 开发者 算法

日志 | AI工程化部署

AIWeker

c AI AI工程化部署

介绍一款低代码数据可视化平台

秃头小帅oi

低代码 数据可视化

小红书可观测 Metrics 架构演进,如何实现数十倍性能提升?

小红书技术REDtech

云原生 可观测性

行业唯一!百度上榜“2023年度中国数据管理十大名牌企业”

百度安全

【案例分享】 小鹅通|渐进式拥抱 DevOps

CODING DevOps

DevOps

软通咨询彭智勇(上):探索供应链金融创新路径,驱动产业破局

软通咨询

数字化转型 供应链金融 数字化咨询 管理咨询

【教程】源代码加密、防泄密软件

雪奈椰子

凝心聚力 共赢计算新时代 ——2023计算产业生态大会在京圆满举办

彭飞

Axie Infinity 之后,Ronin 的潜力何在?

Footprint Analytics

区块链 以太坊 Web3 游戏 Ronin

5种容器内指定特定域名解析结果的方式

华为云开发者联盟

容器 云原生 华为云 域名解析 华为云开发者联盟

这就是univer

梦数技术团队

typescript 前端 React Hydrate Vue3 Typescript

技术写作者所需的关键技能和知识

小万哥

技术 程序人生 写作 软件开发 作者

19家游戏伙伴参加鸿蒙原生游戏合作仪式,与华为游戏中心一起推动产业自主创新和高质量发展

新消费日报

luchysheet升级版univer产品介绍会

梦数技术团队

typescript 前端 Vue3 Typescript

理解Mysql索引原理及特性

快乐非自愿限量之名

MySQL 开发 检索 检索引擎

华为云CodeArts Deploy常见问答汇总

华为云PaaS服务小智

华为云

宣布推出适用于 Amazon DynamoDB 的增量导出到 S3

亚马逊云科技 (Amazon Web Services)

S3 API 云存储服务 Amazon DynamoDB

点燃数字引擎,天翼云助力汽车行业云上加速跑!

天翼云开发者社区

人工智能 数字化转型 汽车

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