1
当前我试图通过最新的date_processed过滤Hive表。在读取Hive表之前过滤分区(Spark)
表被分区。
系统 DATE_PROCESSED 地区
我已经成功地过滤它的唯一办法,是做一个连接查询:
query = "select * from contracts_table as a join (select (max(date_processed) as maximum from contract_table as b) on a.date_processed = b.maximum"
这种方式实在是费时,因为我必须做的25个表的相同程序。
任何人知道的方式来直接读取表的最新加载分区星火< 1.6
这是我使用阅读方法。
public static DataFrame loadAndFilter (String query)
{
return SparkContextSingleton.getHiveContext().sql(+query);
}
非常感谢!
我认为这可以工作,并提高性能,但实际上并没有完全解决问题,因为你钢需要加载20个新的数据帧,计算最大值,然后过滤其他表....任何生病尝试它,并看看表现如何。谢谢! –