중화사전망 - 서예자전 - Spark-sql 은 hive 파티션 테이블을 읽어 파티션 필터를 제한하고 파티션 수를 제한합니다.

Spark-sql 은 hive 파티션 테이블을 읽어 파티션 필터를 제한하고 파티션 수를 제한합니다.

Spark 를 사용하여 hive 파티션 테이블을 읽는 동안 (또는 spark 및 nodepad 개발 도구에서 hive 사용) 일부 개발자는 파티션 속성 필터링을 추가하지 않아 실행 중 전체 데이터가 로드되고 작업 실행 효율성이 떨어지며 디스크 입출력 대량 손실 등의 문제가 발생합니다.

1. 규칙 CheckPartitionTable 클래스를 사용자 정의하여 이 규칙을 구현합니다.

그런 다음 이 방법으로 SparkSession 을 작성합니다.

2. 규칙 CheckPartitionTable 클래스를 사용자 정의하여 규칙을 구현하고 규칙 클래스를 optimizer.batches: seq [batch] 에 추가합니다.

1, CheckPartitionTable 규칙 실행 클래스, 가져온 conf; 를 얻기 위해 sparkSession 이 필요합니다. 규칙 [logical plan]; ] 상속이 필요합니다.

2.split 술어는 분할 술어를 분리하고 분할 술어 표현식을 가져오는 데 사용됩니다.

Sql 구문 분석 중 술어는 TreeNode 로 분석됩니다. 여기서는 분할 술어를 재귀적으로 얻습니다.

파티션 테이블인지, 파티션 필드를 추가할지 여부를 결정합니다.

4. 규칙 적용 방법을 실현하다.

Spark-sql 의 주요 실행 절차 및 준비 지식에 대해서는 제 동창 /p/4cc6797fb9ce 의 이 블로그를 참조하십시오.