CAR*_*ent 14 sql bigdata google-bigquery apache-spark apache-spark-sql
多年来,我一直在使用本地集群开发 Spark 作业,我们的团队最近迁移到了 Google Cloud Platform,这使我们能够利用 BigQuery 等的强大功能。
问题是,我现在经常发现自己在 SQL 中编写处理步骤比在 PySpark 中编写处理步骤要多,因为它是:
最后,只有当我有事情要做而我无法用 SQL 表达时,我才会使用 Spark。
需要明确的是,我的工作流程通常是这样的:
我错过了什么吗?以这种方式使用 BigQuery 而不是 Spark 有什么缺点吗?
谢谢
我看到的一个缺点是 Hadoop 集群创建和完成作业需要额外的时间。通过直接向 BigQuery 发出请求,可以减少这一额外时间。
如果您的任务需要并行处理,我建议使用 Spark,但如果您的应用程序主要用于访问 BQ,您可能需要使用 BQ 客户端库并分离当前任务:
BigQuery 客户端库。它们经过优化以连接到 BQ。这是一个快速入门,您可以使用不同的编程语言,例如 python 或 java 等。
火花工作。如果您仍然需要在 Spark 中执行转换并需要从 BQ 读取数据,您可以使用Dataproc-BQ 连接器。虽然此连接器默认安装在 Dataproc 中,但您可以在本地安装它,以便可以继续使用 BQ 数据运行 SparkML 作业。如果它有帮助,您可能需要考虑使用一些 GCP 服务,例如 AutoML、BQ ML、AI Platform Notebooks 等,它们是机器学习和 AI 的专门服务。
| 归档时间: |
|
| 查看次数: |
2228 次 |
| 最近记录: |