【问题标题】:Performance issue for Spark Sum and countSpark Sum 和计数的性能问题
【发布时间】:2018-09-06 12:35:23
【问题描述】:

我正在从 hive 表中提取数据并创建一个数据框。然后进行求和和计数操作。数据大小约为 3 TB。

例子

val DF1=hiveContext.sql("""SELECT col1,col2,col3,col4,count(col5) AS col5,
                           sum(col6) AS col6 from (
                                                  SELECT col1, col2, col3, col4, col5, 
                                                  sum(col6) AS col6 from <Dataframe from select fields from Table> 
                                                  group by col1, col2, col3, col4, col5
                                                  ) 
                           group by col1,col2,col3,col4
                        """)

DF1.count

这需要很多时间。您能否建议针对这种情况的最佳方法?

【问题讨论】:

  • 您的 spark-UI 日志将有助于调试

标签: apache-spark hadoop dataframe apache-spark-sql spark-dataframe


【解决方案1】:

可能有两种情况

  1. 您的 Hive 配置和硬件使得 Hive 本身需要大量时间来获取查询的输出

  2. 从节点之间的带宽/或传输速度很慢,所以即使在 Hive 快速执行查询之后,由于数据从 Hive 到 PySpark 的传输速度很慢,它也需要很多时间

【讨论】:

  • Hive 根本不执行查询。 HiveContext 仅用于查询元存储。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-01
  • 2016-02-10
  • 1970-01-01
  • 2015-04-05
  • 1970-01-01
  • 2018-08-16
  • 1970-01-01
相关资源
最近更新 更多