Sql BigQuery取代了我大部分的Spark工作,我是不是错过了什么?
几年来,我一直在使用内部集群开发Spark jobs,我们的团队最近转移到了Google云平台,允许我们利用BigQuery等的强大功能 问题是,我现在发现自己在SQL中编写的处理步骤比在PySpark中编写的要多,因为它是:Sql BigQuery取代了我大部分的Spark工作,我是不是错过了什么?,sql,apache-spark,apache-spark-sql,google-bigquery,bigdata,Sql,Apache Spark,Apache Spark Sql,Google Bigquery,Bigdata,几年来,我一直在使用内部集群开发Spark jobs,我们的团队最近转移到了Google云平台,允许我们利用BigQuery等的强大功能 问题是,我现在发现自己在SQL中编写的处理步骤比在PySpark中编写的要多,因为它是: 更容易推理(不太冗长) 易于维护(SQL与scala/python代码) 如果需要,您可以在GUI上轻松运行它 快速而无需真正考虑分区、缓存等问题 最后,我只在我有一些不能用SQL表达的事情要做时才使用Spark 我的工作流程通常如下所示: 预处理(以前在Spark
- 更容易推理(不太冗长)
- 易于维护(SQL与scala/python代码)
- 如果需要,您可以在GUI上轻松运行它
- 快速而无需真正考虑分区、缓存等问题
- 预处理(以前在Spark中,现在在SQL中)
- 功能工程(以前在Spark中,现在主要在SQL中)
- 机器学习模型和预测(Spark ML)
谢谢我看到的一个难题是Hadoop集群创建和完成作业所需的额外时间。通过直接向BigQuery发出请求,可以减少额外的时间 如果您的任务需要并行处理,我建议您使用Spark,但如果您的应用程序主要用于访问BQ,您可能希望使用BQ客户端库并分离当前任务:
- 。它们经过优化以连接到BQ。这里是,您可以使用不同的编程语言,如python或java等
- 刺激就业。如果您仍然需要在Spark中执行转换,并且需要从BQ读取数据,则可以使用。默认情况下,此连接器安装在Dataproc中,您可以在本地安装它,以便继续使用BQ数据运行SparkML作业。万一它有帮助,你可能想考虑使用一些GCP服务,如AutoML、BQ ML、AI平台笔记本等,它们是专门用于机器学习和AI的服务。p>