Intuit 如何在 One Lakehouse 上构建 AI、分析和流媒体
Intuit 拥有超过 1 亿客户和接近 100 亿美元的收入,具有企业级数据处理需求以及企业级挑战。面对为每个大数据项目构建独立架构的前景,这将加剧数据孤岛问题,Intuit 采取了一种统一的方法,将 Lakehouse 作为整个企业的数据标准。
Intuit以 TurboTax 和 QuickBooks 闻名,这是有史以来最成功的两种消费金融产品。但随着机器学习的最新发展以及对 Credit Karma 和 Mailchimp 的收购,Intuit 正在推进将自己改造成人工智能巨头的计划。
“Intuit 正在转变为一个人工智能驱动的专家平台,”该公司产品管理副总裁 Alon Amit 在两周前的Databricks数据+人工智能峰会上表示。“我们正在帮助人们繁荣,这曾经意味着帮助您完成税收和账簿的动议。但现在它意味着更多。”

Alon Amit,Intuit 产品管理副总裁
例如,该公司正在使用机器学习来帮助对 QuickBooks 中的交易进行分类,从而将客户从繁琐的手动分类任务中解脱出来。这需要非常个性化的机器学习,就像 Credit Karma 服务一样,它会根据输入自动推荐个人如何提高信用评分。
开发这些新的数据驱动产品需要有一个可靠的数据架构来构建。该公司希望避免为每个项目构建不同的数据系统,而是让数千名分析师、数据科学家、软件工程师在同一个页面上使用单一的数据视图。
三年前,当 Amit 和现在担任 Intuit 工程总监的 Manish Amde 一起加入公司时,Intuit 还不存在这种架构。Amit 和 Amde 都在 Origami Logic 工作,该公司被 Intuit 收购,以帮助构建他们的数据和 AI 架构。
“我们的数据之旅始于你们中的许多人都熟悉的地方,”Amde 在 Data + AI 峰会的主题演讲中说。“我们的数据生态系统庞大、复杂且混乱。我们需要一个策略来为消费者和小企业客户释放这些数据的全部潜力。”
Intuit 面临的一大挑战是存在多个数据孤岛。数十万个数据库表中包含的数十年历史信息对于帮助 Intuit 的分析师和数据科学家深入了解客户需求和构建新产品至关重要。但它分散在企业周围,难以访问。复制数据是最明显的解决方案,但这引发了对延迟和正确性的一系列担忧。

Intuit 的数据架构包含许多活动部分(图片来源:Intuit)
“为了促进我们的数据之旅,我们需要一个统一的架构来打破数据孤岛并提高整个公司团队的生产力,”Amde 说。“这种架构需要能够支持大规模的各种工作负载,包括存储和计算;通过流媒体支持实时应用程序;它需要建立在开源之上,以便让我们受益于使用一流的工具和回馈社区的机会。”
数据之旅
当 Amit 和 Amde 来到 Intuit 时,他们面临着一定数量的技术包袱,就像大多数成功的价值 100 亿美元的公司一样。首先,Intuit 是一家AWS商店,它在云上运行一个大型“Parquet 集群”。这是一个快乐的 RedShift 和 Athena 客户,没有理由离开他们。它喜欢 Apache Flink,因为它可以为流传输提供延迟。
Amit 和 Amde 需要在这些限制(和其他限制)内工作以获得解决方案。两人在 Oragami Logic 工作时就已经熟悉 Databricks,并且知道该平台的功能。当 Spark 是加州大学伯克利分校 AMPLab 的一个相对不为人知的计算项目时,Amde 也曾与 Databricks 的创始人合作过。
“我们在开源方面进行了合作,”Amde 说。“我当时为机器学习库做出了贡献。这样我们就知道彼此如何编码了。这就是信任的来源。”
数据领导者对新的数据架构有几个要求。首先,内部用户需要能够快速获得查询结果并创建数据管道,以培养实验文化。他们还需要一个能够处理事务的存储库。

Intuit 工程总监 Manish Amde
“我们有 Parquet,我们的数据湖中有大量数据,”Amde 说。“但我们希望拥有类似 ACID 的事务,这样我们就可以开始进行几乎实时的处理,无论是写入还是读取,当有业务案例需要时。”
最重要的是,Intuit 需要的是一个可以为多个用例提供数据的单一数据架构。
“当我们加入 Intuit 并开始考虑这种数据架构时,我们并没有想到,哦,我们需要为数据科学家构建一个数据架构,并为分析构建另一个数据架构。这从来都不是我们的计划,”阿米特说。“因为我们俩都已经有足够长的时间来了解当您拥有多个架构时,您就会拥有多个数据。人们不会读到相同的数字。而我们不希望这样。”
直观的部署
Intuit 决定将其新数据架构建立在 Databricks 的 Delta Lake 之上。通过将传统上与数据仓库相关的元素(例如 ACID 事务和质量保证)与数据湖的可扩展性和灵活性优势相结合,Databricks 声称已经在无法控制的数据沼泽和适应缓慢的数据仓库之间找到了快乐的媒介.
Intuit 战略的一个关键要素是数据映射。数据映射由三类数据组成,包括物理层(其中包含有关数据的位置和生成它的代码所在的信息);运营层(包含有关所有权、系统依赖性和数据分类的信息);和业务层(捕获业务上下文并公开与其他实体相关的数据的逻辑模型)。

自动交易分类是 Intuit 使用 AI 的一个例子(图片来源:Intuit)
“所有这三个层次共同帮助我们回答生产者或消费者对湖中数据的所有可能问题,”Amde 说。“有了这个,我们已经能够构建令人愉快的数据发现体验,使用户能够搜索和浏览数据并探索其他业务实体的关系。”
新数据项目进入两年后,对于 Intuit 来说,情况似乎与预期的差不多。数据工作尚未完成(数据工作从未完成),但公司开始从工作中获得回报。
Intuit 的 Lakehouse 架构可容纳 Spark Streaming 和 Flink 进行实时处理。其分析师能够使用 Redshift 和 Athena 以及 Databricks SQL 和 Photon 驱动的数据科学笔记本访问相同的数据集。该公司能够继续将 Sagemaker 作为其主要的数据科学开发工具,并以 MLFlow 为后盾,以实现机器学习工作的自动化。
但 Lakehouse 架构最重要的方面是 Intuit 的不同数据角色都对同一数据集合具有一致的视图。Amit 表示,这是一项不容小觑的关键成就。
“[我们]强调了让公司的文化开始产生具有逻辑和商业意义的大规模数据是多么困难,所以你不想要求人们做两次——一次是为分析师,一次是为了数据科学家,”阿米特说。“这更好,因为每个人都在查看相同的数据。”
Amit 和 Amde 也很高兴看到 Databricks 承诺将其 Delta Table 规范的其余部分发布到开源中。技术人员鼓励 Databricks 这样做,而该公司这样做的事实消除了 Iceberg 的核心感知优势之一,这是该公司正在研究的另一种开放表格格式(与 Hudi 一起)。