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個新的數據幀,計算最大值,然後過濾其他表....任何生病嘗試它,並看看錶現如何。謝謝! –