Spark-sql lee la tabla de particiones de la colmena, limita las condiciones del filtro de particiones y limita el número de particiones.
1. Personalice la clase de regla CheckPartitionTable para implementar la regla.
Luego usa este método para crear SparkSession.
2. Personalice la clase de regla CheckPartitionTable para implementar la regla y agregue la clase de regla a Optimizer.batches: Seq[Batch].
1. La clase de ejecución de reglas CheckPartitionTable necesita introducir sparkSession para obtener la configuración importada; la regla [plan lógico];] debe ser heredada
2. se utiliza para separar predicados de partición y obtener la expresión del predicado de partición.
Durante el proceso de análisis de SQL, el predicado se analiza en TreeNode y el predicado de la partición se obtiene de forma recursiva.
3. Determine si es una tabla particionada y si desea agregar campos de partición.
4. Implementar el método de aplicación de reglas.
Para conocer el proceso de ejecución principal y el conocimiento preparatorio de Spark-SQL, puede consultar esta publicación de blog de mi compañero de clase /p/4cc6797fb9ce.