Red de conocimiento informático - Problemas con los teléfonos móviles - Spark-sql lee la tabla de particiones de la colmena, limita las condiciones del filtro de particiones y limita el número de particiones.

Spark-sql lee la tabla de particiones de la colmena, limita las condiciones del filtro de particiones y limita el número de particiones.

En el proceso de usar Spark para leer la tabla de particiones de Hive (o usar Hive en las herramientas de desarrollo de Spark y Nodepad), algunos desarrolladores no prestaron atención a agregar el filtrado de atributos de partición, lo que resultó en una carga completa de datos durante el proceso de ejecución, lo que resultó en una tarea baja. Eficiencia de ejecución y IO del disco Problemas como grandes pérdidas.

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.