Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de Fabric, Power BI y SQL más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
El comando MERGE de Data Lake permite a los usuarios actualizar una tabla delta con condiciones avanzadas. Puede actualizar datos de una tabla de origen, una vista o un DataFrame en una tabla de destino mediante el comando MERGE. Sin embargo, el algoritmo actual no está totalmente optimizado para controlar filas sin modificar. Con la optimización de combinación aleatoria baja, las filas sin modificar se excluirán de operaciones de orden aleatorio costosas que se necesiten para actualizar las filas coincidentes.
Actualmente, la operación MERGE se realiza mediante dos ejecuciones de combinación. La primera combinación usa toda la tabla de destino y los datos de origen para buscar una lista de archivos táctiles de la tabla de destino, incluyendo las filas coincidentes. Después, realizará la segunda combinación leyendo solo los archivos táctiles y los datos de origen para realizar la actualización real de la tabla. Aunque la primera combinación sea reducir la cantidad de datos de la segunda combinación, todavía podría haber un gran número de filas sin modificar en los archivos táctiles. La primera consulta de combinación es más ligera, ya que solo leerá columnas en la condición de coincidencia dada. La segunda para la actualización de tabla debe cargar todas las columnas, lo que incurrirá en un proceso de orden aleatorio costoso.
Con la optimización de combinación aleatoria baja, Delta mantendrá el resultado de fila coincidente de la primera combinación temporalmente y lo utilizará para la segunda combinación. En función del resultado, excluirá las filas no modificadas del proceso de orden aleatorio pesado. Habría dos trabajos de escritura independientes para las filas coincidentes y las filas sin modificar, por lo que podría dar lugar a un número 2x de archivos de salida en comparación con el comportamiento anterior. Sin embargo, el rendimiento esperado supera el posible problema de archivos pequeños.
Nota
Está disponible en grupos de Synapse para las versiones de Apache Spark 3.2 y 3.3.
Versión | Disponibilidad | Valor predeterminado |
---|---|---|
Delta 0.6/Spark 2.4 | No | - |
Delta 1.2/Spark 3.2 | Sí | false |
Delta 2.2 / Spark 3.3 | Sí | true |
Una vez establecida la configuración para el grupo o la sesión, todos los patrones de escritura de Spark usarán la funcionalidad.
Para usar la Optimización de combinación aleatoria baja, habilítela con la siguiente configuración:
spark.conf.set("spark.microsoft.delta.merge.lowShuffle.enabled", "true")
SET `spark.microsoft.delta.merge.lowShuffle.enabled` = true
Para comprobar el valor de configuración actual, use el comando como se muestra a continuación:
spark.conf.get("spark.microsoft.delta.merge.lowShuffle.enabled")
SET `spark.microsoft.delta.merge.lowShuffle.enabled`
Para deshabilitar la característica, cambie la siguiente configuración, tal y como se muestra a continuación:
spark.conf.set("spark.microsoft.delta.merge.lowShuffle.enabled", "false")
SET `spark.microsoft.delta.merge.lowShuffle.enabled` = false
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de Fabric, Power BI y SQL más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoy