我正在从配置单元表中提取数据并创建一个Dataframe。然后进行求和和和计数运算。数据大小约为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
这需要很多时间。你能为这种情况提出最好的方法吗?
1条答案
按热度按时间v1l68za41#
可能有两种情况
您的配置单元配置和硬件使得配置单元本身需要大量时间来获取查询的输出
从节点间的带宽/或传输速度较慢,因此即使在hive快速执行查询之后,由于从hive到pyspark的数据传输速度较慢,也需要花费大量时间