揭秘BigQuery工作流:輕松管理數(shù)據(jù)的新工具
Google Cloud 最近推出了一项新功能来简化数据管理:BigQuery 工作流。目前正处于预览阶段,这项无代码工作流工具旨在帮助数据团队更轻松地实现流程自动化。无论是运行常规查询还是维护任务流程,BigQuery 工作流都提供了一种简单直观的方式来完成任务。
在这篇文章中,我们将首先详解什么是BigQuery工作流功能,其次讲解如何创建和使用它,它的优势和劣势,以及它如何与另一种流行的编排工具Dataform一起使用。
要了解什么是BigQuery工作流程?BigQuery Workflows 是 Google Cloud 的 BigQuery 平台中的一个特性或功能,让用户能够自动化执行诸如顺序运行 SQL 查询或笔记本等工作。如果你曾因手动调度查询或找不到合适的工具来管理数据管道而头疼过,BigQuery Workflows 正是为此而生。
该工具提供了一种轻松的方式,用于安排任务、处理它们的依赖关系并监控进度情况——所有这些都不需要编写代码,甚至不需要自动化。你可以使用它来确保你的SQL查询或笔记本按时运行,顺利进行,无需担心哪个任务先运行或是否在下一个任务启动前完成。
如何在BigQuery中设置流程在 BigQuery 中创建一个工作流程非常简单,即使是非技术人员也能轻松操作。以下是一份简单的指南帮助你开始使用:
1. 去BigQuery:进入Google Cloud Console,然后找到并打开BigQuery界面。在编辑器区域里,从下拉菜单中选择“工作流”选项。
2. 配置您的工作流程:为您的工作流程命名,选择一个Dataform 服务账户来运行它,并选择处理区域。
3. 添加任务: 您可以将SQL查询或笔记本添加到工作流。每个任务都可以依赖于其他任务,从而定义执行顺序。例如,一个任务可能用于清理数据,而下一个任务则可能用于将清理后的数据加载到机器学习模型中。
4. 部署和调度:一旦您的工作流设置好,您可以部署它并根据您的需要自动运行,比如每天、每周或其他任何您需要的频率。
5. 监控和调整:部署之后,可以在BigQuery控制台监控任务。如果遇到问题,比如权限问题,你会在日志中看到,这样故障排查就简单多了。
示例:在BigQuery中协调一个简单的工作流
让我们通过一个示例来介绍BigQuery工作流如何用于协调一系列任务的流程。假设你希望处理交易数据,然后对聚合的结果进行机器学习分析以预测客户行为。这里是如何设置一个工作流来协调SQL查询和Python笔记本文件的示例。
任务一:使用SQL创建和汇总事务数据首先,创建一个包含示例交易数据的表格。
这会创建一个customer_summary表,其中包含了每个客户的总交易额和总收入。
这个Python笔记本文件以customer_summary数据集为输入,使用线性回归根据交易数量来预测客户的收入。结果将保存在与工作流关联的Google Cloud Storage存储桶中。
借助 BigQuery 工作流,你可以把这些步骤按顺序安排好。
- SQL 查询:先创建并聚合交易数据。
- Python 笔记本:完成 SQL 任务,运行笔记本来做机器学习预测。
这种安排确保数据在没有人工干预的情况下高效处理和分析。可以将工作流按照计划(例如每天或每周)运行,以便在处理新交易时不断更新预测。
观察编排中的工作流程在 BigQuery 新增的编排菜单里,你可以看到工作流执行情况,旁边还有 Dataform 的执行记录。
你可以在那里点击相应的流程查看详细信息,如果它们最近五次运行都成功了。
BigQuery 工作流的优点- 可视化界面:BigQuery Workflows 最大的优势之一就是它的可视化界面。你无需深入代码,只需通过拖放任务来管理数据管道。这尤其有助于快速了解任务之间的依赖关系。
- 不再猜测时间线:之前,你可能需要估算查询所需的时间,才能安排下一个查询。使用 BigQuery Workflows,你可以设置任务之间的依赖关系,确保一个任务只有在前一个任务完成后才执行。这样可以确保所有任务顺利进行,没有延迟。
- 内置调度:由 Dataform 提供支持的调度引擎自动处理任务的时间安排。无论是单个查询还是多步骤的管道,所有任务都会按正确顺序和时间执行。
- 集中监控:Workflows 内置了日志,可以跟踪进度。你可以轻松监控任务,排查错误,甚至查看 Cloud Storage 中笔记本的输出结果。
- 成本效益:BigQuery Workflows 不会额外收费。你只需支付 BigQuery 的常规计算和存储费用,使其成为数据工具集中的低成本选择。
尽管 BigQuery Workflows 很有前景,但还是存在一些限制:
- 仅限全新资产:你不能将现有的查询或笔记本导入工作流中。每一个任务都必须在工作流界面中从零开始创建。
- 无工作流共享:与其他工具不同的是,你不能轻松地与其他用户共享特定的工作流。只有拥有 Dataform Admin 角色的人才能访问和修改工作流,这可能会减慢大型团队中的协作进程。
- 固定处理区域:在创建工作流时,你需要选择一个处理区域,而且这一选择是永久性的。如果您的数据存储需求有所变化,你将不得不从头开始创建一个新的工作流。
- 无代码版本控制:工作流的代码没有被保存在仓库中,这意味着没有集中的存放和实现地方,也没有像提交和撤销更改这样的高级保存机制。
- 预览模式:由于这是一个预览功能,可能会遇到一些错误或支持上的限制。这也意味着未来的功能可能会扩展,但与成熟的替代品(如Composer)相比,当前的工具可能会感觉功能有限。
BigQuery Workflows 是基于 Dataform 的,Dataform 是许多数据团队用来管理复杂数据转换的一个工具。然而,由于 Dataform 需要编码知识,更适合高级用户,BigQuery Workflows 却旨在成为更简单的 无代码 选项,供任何人使用。
所以,为什么除了Dataform还要引入BigQuery Workflows?答案在于可访问性。Dataform非常适合需要对复杂项目进行全面控制和高级定制的团队。然而,并非每个团队都需要这种级别的复杂性。对于日常事务,如运行计划查询或处理基本任务,BigQuery Workflows提供了一个更简单的解决方案。它在易用性和功能之间找到了平衡,非常适合需要简单且直观工具但仍然希望高效自动化的业务。
将来,BigQuery Workflows甚至可以扩展到其他类型的资产,甚至可以与Composer集成,以实现更复杂的流程。
结尾BigQuery Workflows 是 BigQuery 平台的一个重要补充,尤其是对于希望简单管理并自动化数据管道的用户而言。凭借其直观的界面、内置的调度功能和与 BigQuery 的无缝集成,它是一款容易使用的工具,解决了数据编排中的常见问题。
无论你是处理日常报表的数据分析师,还是自动化机器学习管道的工程师,BigQuery 工作流工具都可以帮助你更轻松地简化操作。随着 Google 不断完善这一工具,我们可以期待更多的功能和集成,使它更加强大。
如果你已经在用BigQuery,现在试试这个新功能会是个不错的选择,看看它能如何简化你的数据处理。
更多可读内容如果你喜欢这篇博客,你也会爱上这些!继续探索更多精彩内容:
将您的 ls 命令升级到 eza (https://www.datadice.io/en/blog/upgrade-your-ls-command-to-eza)
你的AI伙伴在Google云
了解更多关于AI伙伴的信息,请点击这里:
关注我们的LinkedIn账号,了解我们的日常工作生活,获取关于BigQuery、Data Studio和营销数据分析的重要信息。
我们也开设了自己的YouTube频道。我们讨论了许多重要的话题,比如DWH、BigQuery、Data Studio等。你可以在这里看看我们的频道here。
如果你想了解更多关于如何使用 Google 数据 Studio 并结合 BigQuery 提高技能,可以查看我们的 Udemy 课程 here。
如果您需要帮助设置一个现代且成本效益的数据仓库或分析仪表板,请发送邮件至 hello@datadice.io,我们会安排一个通话时间。
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章