我从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
这需要很多时间。你能否为这种情况建议最好的方法?
答案 0 :(得分:0)
可能有两种可能的情况
您的配置单元和硬件是这样的,Hive本身需要花费大量时间来获取查询的输出
带宽/或传输速度从属节点之间的速度很慢,因此即使Hive快速执行查询,由于从Hive到PySpark的数据传输速度慢,也需要很长时间