1
현재 하이브 테이블을 최신 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"
이 방법은 다음과 같습니다 지역
내가 그것을 필터링 관리했습니다 유일한 방법 date_processed
시스템 은 조인 쿼리를 수행하여입니다 25 개의 테이블에 대해 동일한 절차.
는 모든 일이 내가 읽을 사용하고하는 방법입니다 스파크 < 1.6
에서 직접 테이블의 최신로드 파티션을 읽을 수있는 방법을 알고있다.
public static DataFrame loadAndFilter (String query)
{
return SparkContextSingleton.getHiveContext().sql(+query);
}
많은 감사! 모든 테이블 파티션
나는 20 개의 새로운 DataFrames를로드하고, 최대 값을 계산 한 다음 다른 테이블을 필터링해야 할 필요가 있기 때문에 성능이 향상되고 실제로는 문제를 해결할 수 없다고 생각합니다. 성능이 어떻게되는지보십시오. 감사! –