Ronda técnica (por agregar):
1. Sesgo de datos:
La razón general del sesgo de datos es cuando los datos se distribuyen desde el lado del mapa. en el lado de reducción, el número de una determinada clave es mucho mayor que el de otras claves, lo que resulta en un tiempo de procesamiento más largo para una determinada reducción.
1) La distribución de claves es desigual.
2) Los datos en sí son así
3) Las claves de asociación de datos no se captan correctamente.
Solución
1) Ajuste de parámetros: hive .agg = true; hive group by .skewin data = true; Cuando se produce una desviación de datos, se activa el equilibrio de carga. En este punto, se generarán dos tareas de Mapreduce. La primera tarea de MR asignará aleatoriamente la clave generada por el lado del mapa para su restauración y realizará la primera agregación. La segunda tarea de MR tomará los resultados preprocesados de la primera tarea como entrada y asignará las mismas claves al mismo Reducir.
2) Ajuste de SQL: cuando se trata de una gran cantidad de valores nulos, primero puede adjuntar un valor especial al valor nulo, como agregar una cadena al número aleatorio, porque los datos del valor nulo no se pueden asociado y no afectará el posprocesamiento.
2. La diferencia entre base de clasificación, base de clasificación, base de clasificación y base de distribución.
1) Ordenar por es una clasificación global. El proceso de clasificación se realiza en reducción, que será más lento cuando la cantidad de datos sea grande.
2) Ordenar por es una ordenación local y los resultados de la ordenación se ordenan por la misma reducción.
3) Distribuir por divide los datos en una reducción según el campo. Generalmente se usa junto con ordenar por para agrupar y ordenar.
4) Además de la función de base de distribución, la base de agrupación también tiene la función de base de clasificación.
Optimización de la clasificación (entrevista de Alibaba):
1) Active el modo estricto y agregue una cláusula de límite después del orden por.
2) Usando ordenar por, primero ordene los primeros elementos en cada reducción y luego genere los resultados del preprocesamiento en orden.
3. La diferencia entre tablas internas y tablas externas en Hive.
1) Al crear una tabla, la tabla interna hace referencia a la ruta donde se mueven los datos al almacén de datos. La tabla externa solo registra la ruta donde se encuentran los datos y no realiza ningún cambio. la ubicación de los datos.
2) Al eliminar una tabla, la tabla interna eliminará metadatos y datos al mismo tiempo, y la tabla externa solo eliminará metadatos.
4. Columna a columna, fila a columna
1) Cambios en la columna: Vista lateral ampliada (dividida(' column_name ', ', ')) en una nueva tabla.
2) Fila a columna: concat_ws(',', Collect_set (column_name))
5. Principio operativo de Mapreduce
6. Principio de capas del almacén de datos. (Entrevista con Ali)
7. Escenarios de aplicación de tres tablas de hechos en modelado dimensional (entrevista con Ali)
Entrevista de segunda ronda (para completar)