首页 > 解决方案 > 将大数据从 Hadoop 导入 Spark 的有效方法

问题描述

由于我刚开始涉足大数据领域,我正在寻找有关如何将一些数据导入 Spark 以进行分析的最有效方法的建议。

SQL 查询相当大,有多个子查询,每个子查询都有自己的“何时”、“分组依据”等。最终数据将有 100 万到 2000 万行。

如果我运行 spark sql 查询并使用 pyspark 将其保存到数据帧中,或者如果我将每个子查询提取到不同的 spark 数据帧中并使用 spark 进行分组/过滤等,这是否相同(性能方面)?

例如,这两种方法在处理我的数据时使用的资源量/时间是否相等?

方法一:

df_final = spark.sql("""
With subquery 1 as(...),
     subquery 2 as(...),
     subquery 3 as(...),
     ...
                   
select * from subquery n
"""

方法二:

df1 = spark.sql(subquery 1)
df2 = spark.sql(subquery 2)
...

df_final = *spark manipulation of dataframes here"

我会很感激任何建议。谢谢

标签: apache-sparkpysparkapache-spark-sql

解决方案


Spark 将创建一个在两种情况下都应该等效的 DAG。两种情况下的性能应该相同。


推荐阅读