我有一个包含100行的数据框[名称,年龄,日期,小时]。我需要使用不同的日期值对此数据框进行分区。让我们说这100行中有20个不同的日期值,然后我需要产生20个并行的hive查询,其中每个hive QL将使用hive表连接这些分区中的每一个。 Hive表 - [dept,couse,date]按日期字段分区。
Hive表非常庞大,因此我需要优化这些连接到多个较小的连接,然后聚合这些结果。关于如何实现这一目标的任何建议?
答案 0 :(得分:0)
您可以在单个查询中执行此操作。在日期和加入时对df进行分区。在连接广播期间,您第一个表有小数据(~10MB)。这是一个例子: -
df3 = df1.repartition("date").join(
F.broadcast(df2.repartition("date")),
"date"
)
#df2 is your dataframe smaller dataframe in your case it is name, age, date, ,hour.
#Now perform any operation on df3