Hadoop 开发工程师的存储维护
管理数据在分布式文件系统中的布局方式,包括副本设置,以及清理已经没有人再读取的数据。
企业之所以在迪拜招聘 Hadoop 开发工程师,几乎总是因为一个 Hadoop 集群已经存在,并且支撑着一套真正在运行的系统,而不是为一个新项目重新选定 Hadoop。自 2006 年起维护 Hadoop 这一开源项目的 Apache 软件基金会,将其描述为一个用于在由普通机器组成的集群上分布式处理大规模数据集的开源框架,其设计目标是由应用自身检测并处理故障,而不是依赖专门的硬件。
这套设计让 Hadoop 多年来成为大规模数据处理的默认选择,如今仍有大量阿联酋企业,包括电信运营商、银行和大型零售商在内,依然在其上运行生产工作负载。Hadoop 开发工程师的职责,就是让这些工作负载保持健康:编写和维护任务,使用建立在核心 Hadoop 之上的工具,例如 Hive 或 HBase,并往往协助规划企业准备就绪后最终迁往更新基础设施的路径。
由于 Hadoop 如今很少是全新平台的首选,一位 Hadoop 开发工程师的价值,更多来自对既有系统的深入了解,而不是对最新工具的广泛涉猎。在迪拜招聘 Hadoop 开发工程师之前,请具体说明您的集群实际使用了生态系统中的哪些部分,因为所需的技能远比”Hadoop”这一个词所暗示的更为多样。
Hadoop 开发工程师做什么
让一个正在运行的 Hadoop 平台保持可靠的工作。
管理数据在分布式文件系统中的布局方式,包括副本设置,以及清理已经没有人再读取的数据。
在数据量和源系统不断变化的情况下,让现有的处理任务持续正确运行。
调整集群资源在互相竞争的任务之间的分配方式,避免某个繁重的工作负载拖垮其余所有任务。
为分析人员提供的、通过 Hive 实现的类 SQL 查询,或通过 HBase 实现的快速查找访问,建立并维护在核心集群之上。
关注失效节点、磁盘压力和任务失败,并修复根本原因,而不只是重新启动任务。
记录现有任务实际在做什么、依赖什么,作为最终迁出 Hadoop 的第一个真正步骤。
重要技能
对您集群实际使用的生态系统的深入程度。
| 技能或工具 | 良好水平的表现 | 为什么重要 |
|---|---|---|
| HDFS | 理解副本策略、块大小以及存储布局如何影响任务性能,而不只是知道怎么把文件复制进去 | 糟糕的存储布局是 Hadoop 任务运行缓慢的常见、且不易察觉的原因 |
| YARN | 能够读取整个集群的资源使用情况,并说明为什么某个任务正在拖垮另一个 | 缺少这项能力,一个繁忙的集群会让所有人的体验都变差,却没人知道原因 |
| MapReduce,或其上更新的引擎 | 能自如地维护现有的 MapReduce 任务,并能识别出哪些工作负载改用 Spark 会运行得更好 | 并非每个任务都需要重写,但开发工程师应当能识别出需要重写的那些 |
| Hive 或 HBase(如有使用) | 对集群上实际使用的那一项有真实的生产经验,包括其特有的性能怪癖 | 这些工具各有自己独立于原始 HDFS 和 YARN 的故障模式 |
| 运维纪律 | 记录变更内容,并理解触碰共享生产集群会带来的影响范围 | 一个正在运行的 Hadoop 集群通常是承重的基础设施,而不是一个沙盒 |
Apache 软件基金会自己的 项目页面 把 Hadoop Common、HDFS、YARN 和 MapReduce 列为构成这个框架的四个核心模块,一位真正有经验的 Hadoop 开发工程师应当能够谈及全部四项,而不只是自己日常接触的那一项。
合作方式
专职安排适合一个正在运行、需要持续关注的集群,新任务不断加入、资源需要调优、日常维护贯穿整个工作周,而不是一项有明确边界的任务。限定项目适合边界清晰的工作,例如修复一组特定的失败任务,或在做出迁移决策之前为集群整理文档。招聘支持适合希望把一位 Hadoop 开发工程师永久纳入自身团队的企业,寻访、筛选和技术评估都由我们代为完成。咨询适合正在权衡是继续投入 Hadoop,还是开始规划迁出的企业,在做出任何选择之前,获得外部人士对现有集群状况的评估确实很有价值。在确定项目范围时清楚说明您属于哪种情况,会让招聘一位合适的 Hadoop 开发工程师这件事,从一开始就建立在合适的条件之上。
评估候选人
揭示真实集群经验、而不是教科书记忆的问题。
无论您是自己主持面试,还是把这项工作交给我们作为招聘支持的一部分,以下核查方式对 Hadoop 开发工程师这个职位都特别适用。
一个失效的节点、一个失控的任务、一块被填满的磁盘。真正操作过集群的人,会详细描述具体的修复过程,而不是泛泛而谈。
留意他们是否通过 YARN 资源使用情况和任务日志展开一套有条理的排查方式,而不是猜测一个单一原因。
真正有深度的候选人,能够诚实地谈论 Hadoop 在什么情况下依然合适、什么情况下不再合适,而不是出于立场去维护或否定它。
如果生态系统的这部分对您的集群很重要,请他们给出一个具体的查询或架构决策,以及原因。
在共享的生产基础设施上,一位会记录改动内容和原因的开发工程师,远比一位全凭记忆工作的开发工程师风险更低。
认证
Apache Hadoop 本身没有由 Apache 软件基金会颁发的认证。
根据其自身的项目页面,Apache 软件基金会把 Hadoop 作为一个厂商中立、由社区维护的项目来运营,并不运营自己的认证项目。对任何宣称是官方 Apache Hadoop 认证的证书,应保持与对待任何第三方培训徽章同样的谨慎。
候选人对自己实际操作过的集群、修复过的具体事故,以及对 YARN 和 HDFS 的推理,比任何证书都更能说明问题。如果您的集群还运行着某个特定厂商的发行版或工具,请直接询问该厂商目前是否仍在运营自己的认证,再把它当作有意义的信号。评估一位 Hadoop 开发工程师时,这正是上述核查方式比简历上任何一行文字都更重要的原因。
阿联酋相关事项
当一个 Hadoop 集群存有真实的阿联酋客户或员工数据时需要关注的方面。
阿联酋关于个人数据保护的联邦法律《2021 年第 45 号联邦法令》,适用于任何与阿联酋相关的控制者或处理者所进行的处理,无论底层系统建成多久,因此一个已经运行多年的集群,仍需要当前的访问和留存规则,而不是它最初上线时设定的那一套。
本地部署的 Hadoop 集群,会把数据保留在托管它的设施内部,相比云平台,这可以简化数据留存方面的问题,但前提是这个物理位置确实经过记录和确认,而不是想当然认为如此。聘请一位 Hadoop 开发工程师来负责这个集群之后,请把确认这一点作为最先要做的事情之一。
如果 Hadoop 开发工程师并不完全契合您的项目,请返回 数据 类别,或更广泛的 迪拜招聘开发人员 板块。如果同一集群上的某项工作负载运行在 Spark 上,而不是纯粹的 MapReduce,我们的 Spark 开发工程师 页面专门涵盖这一引擎;如果真正的目标是规划完全迁出 Hadoop,我们的 大数据工程师 和 Databricks 工程师 页面涵盖许多企业接下来会落脚的方向。对于从一开始就建立在托管云基础设施之上的平台,我们的 数据仓库开发工程师 页面也值得一看,再结合上述核查方式,在您为既有集群在迪拜招聘 Hadoop 开发工程师时使用。
直接解答
对于全新的平台,如今大多数企业会先选择托管云服务,或者 Databricks 这类平台,而不是从零搭建 Hadoop,因为运维负担更轻。Hadoop 依然值得一位 Hadoop 开发工程师投入精力的地方,是那些已经承载核心系统、短期内不会被替换的既有集群。
大数据工程师是一个更宽泛的职位,可以涵盖 Hadoop、Spark 或云原生平台。Hadoop 开发工程师则专门在 Hadoop 生态系统内部工作,涉及 HDFS、YARN、MapReduce 以及其上的工具,例如 Hive 或 HBase。如果您的平台不是 Hadoop,我们的大数据工程师页面涵盖更广泛的角色。
可以,这是常见的工作内容。一位了解现有集群的 Hadoop 开发工程师,往往正是规划和执行迁移到托管平台的合适人选,因为他们在替换任何东西之前,就清楚现有任务实际依赖什么。
有些候选人两者都能兼顾,既编写任务,也维护集群本身的健康;另一些则专精于其中一侧。请告诉我们您的项目需要哪一种,因为即便在同一个生态系统内,集群管理和应用开发所依赖的日常技能也不尽相同。
通常是的。Apache Hive 为存储在 Hadoop 中的数据提供了类似 SQL 的接口,Apache HBase 则增加了用于快速查找的数据库式层,许多 Hadoop 开发工程师会在核心的 HDFS 和 YARN 工作之外,同时涉及其中一项或两项。
资料来源
书面固定价格
已收到,我们正在为您撰写报价。
工作时间内您将在 45 分钟内收到。请查收确认邮件。