Delta Lake 表
基于 Delta Lake 搭建的可靠、带版本记录的表,结构设计确保数据质量检查和架构变更不会悄悄破坏下游任务。
大多数在迪拜招聘 Databricks 工程师的企业,都已经不再满足于把数据工程、机器学习和报表当作三套互不相干的工具链来处理。Databricks 把自己的产品描述为一个湖仓平台,把数据湖的存储经济性,与通常只有数据仓库才具备的可靠性和结构结合在一起,围绕 notebook、托管集群和开源的 Delta Lake 存储格式搭建而成。
对于同时处理结构化记录、事件日志和非结构化文件的企业,或者希望数据工程和机器学习工作紧密衔接、而不是在互不相通的系统之间来回交接的企业来说,这种组合确实很有用。这也意味着这个角色所需要的技能,比单一的数据库或数据仓库工作要更宽:熟悉底层的 Spark、Delta Lake 那套可靠表格的实现方式、基于 notebook 的开发方式,以及越来越重要的、用于跨组织治理数据资产的 Unity Catalog。
Databricks 工程师的强项所在各不相同,有些更偏向纯粹的数据工程和管道搭建,有些则更偏向 Databricks 通过 MLflow 支持的机器学习一侧。在迪拜招聘 Databricks 工程师之前,请先弄清楚您的项目更需要哪一侧的能力,因为这两套技能的重叠程度,远不如共用的平台名称所暗示的那么多。
Databricks 工程师会搭建什么
湖仓平台上真实的交付内容。
基于 Delta Lake 搭建的可靠、带版本记录的表,结构设计确保数据质量检查和架构变更不会悄悄破坏下游任务。
在 notebook 中编写、随后转化为按计划运行任务的数据转换逻辑,开发阶段的工作与生产环境实际运行的内容明确区分。
与实际工作负载相匹配的集群规模和自动扩缩设置,确保任务可靠完成,同时不会让计算资源在任务之间空转。
通过 MLflow 完成的特征准备、模型训练和实验追踪,这与纯数据工程不同,但常常由同一个团队负责处理。
集中管理的数据访问、血缘和权限,让不同团队基于同一批受治理的表格工作,而不是各自维护私有副本。
带有依赖关系、重试机制和告警的多步骤任务,让管道中途的一次失败被及时发现,而不是几天后才在报表里被发现。
重要技能
湖仓专属的判断力,而不只是对 Spark 的熟悉程度。
| 技能或工具 | 良好水平的表现 | 为什么重要 |
|---|---|---|
| Delta Lake 表设计 | 理解版本控制、架构强制和表优化的运作方式,并且实际应用它们,而不是把表当成普通文件对待 | 维护不善的 Delta 表,会拖慢每一个读取它的任务 |
| 集群与任务配置 | 为每个任务有意识地设置集群规模和自动扩缩,并能说明理由,而不是照搬默认值 | 规模过大或长期开启的集群,是意外出现高额 Databricks 账单最常见的原因 |
| Spark 基础 | 真正熟悉 Databricks 底层 Spark 的执行模型,而不只是上层的 notebook 界面 | Databricks 隐藏了部分复杂性,但一个卡住的任务仍需要 Spark 层面的排查 |
| Unity Catalog 与访问控制 | 有意识地设置受治理的访问权限,并能提供说明表格数据实际来源的血缘记录 | 缺乏治理的湖仓数据,会变得和它本应取代的数据湖一样混乱 |
| 从 notebook 到生产的纪律 | 把探索性的 notebook 工作与真正按计划运行的代码分开,两者都纳入版本控制 | 直接从可编辑 notebook 运行的生产任务,是难以追踪的故障的常见来源 |
Databricks 在其 产品页面 上,把自己的平台定位为一套涵盖存储、处理、治理和分析的统一架构,这正是候选人需要在整个范围内展现判断力、而不只是在其中一个角落表现出色的原因。
合作方式
如果您的湖仓已经上线,管道、模型和集群调优的待办事项持续增加、清空速度赶不上新增速度,适合选择专职工程师。限定搭建适合一个界定清晰的成果,例如第一次搭建 Databricks、把某条特定管道迁移过去,或搭建 Unity Catalog 治理层,并在完成后移交。如果这位工程师最终要长期留在您自己的编制内,招聘支持是正确的路线,由我们负责寻访、筛选和技术评估。咨询适合已经在运行 Databricks 的企业,希望在投入更多预算之前,让第二双眼睛审视集群支出、表设计或一次停滞的迁移。
评估候选人
能把真正的平台深度和对 notebook 的表面熟悉区分开的问题。
您可以直接使用这些问题,也可以交给我们,纳入为聘请一位靠谱的 Databricks 工程师而搭建的招聘支持技术评估中,确保对方真正能扛住实际的工作负载。
有真实经验的候选人能描述他们遇到过的一次架构变更、一次糟糕的合并或一个性能问题,以及如何解决,而不是教科书式地复述这项功能。
留意他们的理由是否与数据量和任务类型相关,以及他们是否有重新审视这个选择的习惯,而不是设置一次就不再过问。
一个用于评估结构和可读性的简短转换任务,同时观察他们是否把探索性工作与真正会进入按计划任务的内容区分开。
有实力的候选人会主动谈到 Unity Catalog 的访问和血缘,而不是把治理当成别人的职责。
真正理解这个平台的候选人,能用纯 Spark 的术语说明它在底层为自己做了什么,这通常最能区分出真正的深度和表面的熟悉。
认证
Databricks 运营着一套结构化、按角色划分的认证项目。
Databricks 自己的 认证页面 在其按角色划分的路径中列出了 Data Engineer Associate 和 Data Engineer Professional,涵盖在平台上以不同深度搭建和运行管道的能力。请询问候选人具体持有哪个级别,不要假定一个必然意味着另一个。
同一页面还列出了 Apache Spark Developer Associate 认证,在 Spark 基础能力对该职位特别重要时很有参考价值。Databricks 通过 credentials.databricks.com 颁发证书,请让候选人分享在那里的记录,而不是仅凭简历上的说法。评估一位 Databricks 工程师时,核实这项记录只需要五分钟,值得每次都做。
阿联酋相关事项
一旦湖仓中存放真实的客户或员工数据,就需要关注的方面。
根据阿联酋关于个人数据保护的联邦法律《2021 年第 45 号联邦法令》,义务会随着处理行为走,无论相关的控制者或处理者位于何处,而一个把数据副本分散在青铜层、白银层和黄金层的湖仓,如果不刻意设计留存和访问规则,很容易让人搞不清个人记录到底存放在哪里。
一个 Databricks 工作区运行在底层的云账户之上,因此如果数据留存在特定区域对您的业务很重要,请在确定项目范围时就定下具体使用哪个云、哪个区域,因为这从第一个集群开始就会影响整个工作区的搭建方式,在迪拜招聘 Databricks 工程师开始搭建之前提出这个问题,是合理的做法。
如果 Databricks 工程师并不完全是您需要的角色,欢迎返回 数据 类别,或完整的 迪拜招聘开发人员 板块。我们的 Spark 开发工程师 页面专注于 Databricks 底层的处理引擎本身,适合项目在托管平台之外单独运行 Spark 的情况,而我们的 Snowflake 开发工程师 页面涵盖湖仓和数据仓库工作负载中最接近的托管竞争对手。对于湖仓搭建中机器学习的一侧,请查看我们的 AI 与机器学习 类别;而对于没有托管平台的开源大数据基础设施,我们的 大数据工程师 页面则覆盖这部分内容。
直接解答
不是。Apache Spark 是底层的开源处理引擎,由 Apache 软件基金会维护。Databricks 是围绕 Spark 搭建的托管平台,在其之上加入了 notebook、集群管理、Delta Lake 存储、工作流编排和治理功能,因此一位 Databricks 工程师既需要掌握平台技能,也需要对 Spark 本身有扎实的了解。
不一定。传统数据仓库依然很适合结构化报表工作。当工作还涉及大量非结构化或半结构化数据、机器学习,或数据仓库单独无法高效完成的处理时,Databricks 往往才能发挥价值。请告诉我们您当前的搭建情况,我们可以在您决定投入搭建之前,帮您判断是否合适。
有些可以,因为 Databricks 在数据工程工具之外还集成了用于追踪实验的 MLflow,这两项技能常常有所重叠。如果项目主要围绕模型本身,而不是底层的数据平台,请尽早告诉我们,我们会把搜寻重点更倾向于机器学习经验。
Databricks 对它在您自己的云账户之上管理的计算集群收费,因此成本取决于集群规模、集群运行时长以及任务编写的效率。我们不在这里给出具体数字,因为这完全取决于您的工作负载,但一位称职的工程师应当能够逐行为您解释账单构成。
有一些确实同时熟悉,而且这两个平台在湖仓工作负载上的竞争正在增加。如果您还没有在两者之间做出选择,请在确定项目范围时说明,我们可以为您匹配一位对两者都熟悉的工程师,也可以先帮您理清这个决策。
资料来源
书面固定价格
已收到,我们正在为您撰写报价。
工作时间内您将在 45 分钟内收到。请查收确认邮件。