Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql BigQuery取代了我大部分的Spark工作,我是不是错过了什么?_Sql_Apache Spark_Apache Spark Sql_Google Bigquery_Bigdata - Fatal编程技术网

Sql BigQuery取代了我大部分的Spark工作,我是不是错过了什么?

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

几年来,我一直在使用内部集群开发Spark jobs,我们的团队最近转移到了Google云平台,允许我们利用BigQuery等的强大功能

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

  • 更容易推理(不太冗长)
  • 易于维护(SQL与scala/python代码)
  • 如果需要,您可以在GUI上轻松运行它
  • 快速而无需真正考虑分区、缓存等问题
最后,我只在我有一些不能用SQL表达的事情要做时才使用Spark

我的工作流程通常如下所示:

  • 预处理(以前在Spark中,现在在SQL中)
  • 功能工程(以前在Spark中,现在主要在SQL中)
  • 机器学习模型和预测(Spark ML)
我错过什么了吗? 以这种方式使用BigQuery而不是Spark有什么缺点吗


谢谢

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

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

  • 。它们经过优化以连接到BQ。这里是,您可以使用不同的编程语言,如python或java等

  • 刺激就业。如果您仍然需要在Spark中执行转换,并且需要从BQ读取数据,则可以使用。默认情况下,此连接器安装在Dataproc中,您可以在本地安装它,以便继续使用BQ数据运行SparkML作业。万一它有帮助,你可能想考虑使用一些GCP服务,如AutoML、BQ ML、AI平台笔记本等,它们是专门用于机器学习和AI的服务。p>

我不这么认为,但你是在征求意见,这就是我投票关闭的原因。我不是在征求意见,我是在寻找使用BigQuery而不是Spark的利弊,也许有些事情我没有考虑,也许这个选择有缺点我不知道我不认为有缺点。也许在版本控制系统中保留spark可能比SQL更容易,但这也可能是一个意见/选择的问题。也许你可以尝试看看BQML是否能够取代spark ML:)这是一个很好的问题,网上关于它的信息不多,我希望更多的人在这里分享他们的知识@你用的是气流吗?我正在寻找最佳实践以及重新分级Airflow/CloudComposer和BQ_SQL/DataProc或DataFlow(BEAM)的良好比较