gpt4 book ai didi

sql - BigQuery 替换了我的大部分 Spark 作业,我是否遗漏了什么?

转载 作者:行者123 更新时间:2023-12-03 14:44:44 26 4
gpt4 key购买 nike

多年来,我一直使用本地集群开发 Spark 作业,我们的团队最近迁移到了 Google Cloud Platform,这使我们能够利用 BigQuery 等的强大功能。

问题是,我现在经常发现自己在 SQL 中编写处理步骤比在 PySpark 中编写的处理步骤要多,因为它是:

  • 更容易推理(不那么冗长)
  • 更易于维护(SQL 与 scala/python 代码)
  • 如果需要,您可以在 GUI 上轻松运行它
  • 快速而无需真正考虑分区、缓存等...

  • 最后,只有当我有事情要做而我无法用 SQL 表达时,我才会使用 Spark。

    需要明确的是,我的工作流程通常是这样的:
  • 预处理(以前在 Spark 中,现在在 SQL 中)
  • 特征工程(以前在 Spark 中,现在 主要是 在 SQL 中)
  • 机器学习模型和预测 (Spark ML)

  • 我错过了什么吗?
    以这种方式使用 BigQuery 而不是 Spark 有什么缺点吗?

    谢谢

    最佳答案

    我可以看到的一个缺点是 Hadoop 集群创建和完成作业所需的额外时间。通过直接向 BigQuery 发出请求,可以减少这些额外的时间。

    如果您的任务需要并行处理,我建议使用 Spark,但如果您的应用程序主要用于访问 BQ,您可能需要使用 BQ 客户端库并分离您当前的任务:

  • BigQuery Client Libraries .它们经过优化以连接到 BQ。这是a QuickStart并且您可以使用不同的编程语言,例如 python 或 java 等。
  • Spark 工作。如果您仍然需要在 Spark 中执行转换并且需要从 BQ 读取数据,您可以使用 the Dataproc-BQ connector .虽然此连接器默认安装在 Dataproc 中,但您可以将其安装在本地,以便您可以继续使用 BQ 数据运行 SparkML 作业。以防万一,您可能需要考虑使用一些 GCP 服务,如 AutoML、BQ ML、AI Platform Notebooks 等,它们是机器学习和 AI 的专门服务。
  • 关于sql - BigQuery 替换了我的大部分 Spark 作业,我是否遗漏了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56022874/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com