将大数据从 Hadoop 导入 Spark 的有效方法
Posted
技术标签:
【中文标题】将大数据从 Hadoop 导入 Spark 的有效方法【英文标题】:Efficient way of getting big data from Hadoop into Spark 【发布时间】:2021-02-06 21:39:36 【问题描述】:由于我刚开始涉足大数据领域,我正在寻找有关如何将一些数据导入 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"
如果有任何建议,我将不胜感激。谢谢
【问题讨论】:
【参考方案1】:Spark 将创建一个在两种情况下都应该等效的 DAG。两种情况下的性能应该相同。
【讨论】:
以上是关于将大数据从 Hadoop 导入 Spark 的有效方法的主要内容,如果未能解决你的问题,请参考以下文章
如何有效地将大数据从数据中心移动到 Azure Blob 存储,以便以后通过 HDInsight 进行处理?
用 Spark 为 Elasticsearch 导入搜索数据
Spark向Elasticsearch批量导入数据,出现重复的问题定位