Colección de citas famosas - Frases motivadoras - Preguntas de la entrevista sobre el almacén de datos

Preguntas de la entrevista sobre el almacén de datos

Generalmente, hay dos rondas de entrevistas sobre almacenes de datos. La primera ronda suele tratar sobre tecnología SQL y la segunda ronda trata sobre modelado dimensional y gobernanza de datos.

Una ronda de aspectos técnicos (por agregar):

1. Sesgo de datos:

El sesgo de datos generalmente es causado por la distribución hash de los datos para reducir en el lado del mapa Al final de la operació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) Las claves están distribuidas de manera desigual

2) Los datos en sí son así

3) Las claves asociadas no se captan correctamente al correlacionar datos

p>

Solución

1) Ajuste de parámetros: hive.map.aggr = true;hive.groupby.skewindata=true;

¿Cuando hay datos sesgados, equilibrio de carga? se habilitará Generar dos tareas de MapReduce. La primera tarea de MR asignará aleatoriamente las claves generadas en el lado del mapa para reducir y realizará una agregación primero. La segunda tarea de MR tomará el resultado del preprocesamiento de la primera tarea como entrada y convertirá. lo mismo Las claves están asignadas al mismo reducir.

2) Ajuste de SQL: cuando se trata de una gran cantidad de valores nulos que causan sesgo de datos, primero puede adjuntar un valor especial al valor nulo para su procesamiento, como agregar una cadena a un valor aleatorio. número, porque el valor nulo Los datos no se pueden relacionar y no afectarán el posprocesamiento.

2. La diferencia entre ordenar por, ordenar por, agrupar por y distribuir por

1) Ordenar por es una clasificación global. El proceso de clasificación se realiza en forma reducida. la cantidad de datos es grande, será muy lento

2) ordenar por es una clasificación local y los resultados de la clasificación se ordenan de la misma manera reducir

3) distribuir por divide el datos en uno según los campos En reducir, generalmente se usa junto con ordenar por para realizar agrupación y clasificación

4) Además de la función distribuir por, agrupar por también tiene la función de ordenar por

Ordenar por optimización (entrevista de Alibaba):

1) Active el modo estricto y agregue una cláusula de límite después de ordenar por

2) Utilice ordenar por para ordenar seleccione los elementos principales en cada reducción y luego ordene los resultados del preprocesamiento por salida

3. La diferencia entre tablas internas y tablas externas en Hive

1) Al crear una tabla, la tabla interna mueve los datos a la ruta señalada por el almacén de datos, y la tabla externa La tabla solo registra la ruta donde se encuentran los datos y no realiza ningún cambio en la ubicación de los datos.

2) Al eliminar una tabla, la tabla interna eliminará tanto los metadatos como los datos, y la tabla externa solo eliminará los metadatos.

4. Columna a fila, fila a columna

1) Columna a fila: vista lateral explotar(split('column_name',',')) como 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 de Alibaba )

7. Escenarios de aplicación de tres tablas de hechos en modelado dimensional (entrevista con Ali)

Entrevista de segunda ronda (para complementar)