Crear aplicaciones empresariales globales significa manejar diversos idiomas y una entrada de datos inconsistente. ¿Cómo sabe una almohadilla de datos que debe ordenar «Äpfel» posteriormente de «Apfel» en germano o tratar «ç» como «c» en francés? ¿O manejar a los usuarios que escriben «John Smith» contra «john smith» y animarse si son iguales?
Las intercalaciones agilizan el procesamiento de datos al fijar reglas para ordenar y comparar texto de guisa que respeten el verbo y la distinción entre mayúsculas y minúsculas. Las intercalaciones hacen que las bases de datos tengan en cuenta el idioma y el contexto, lo que garantiza que manejen el texto como esperan los usuarios.
Nos complace compartir que las intercalaciones ahora están disponibles en la lectura preliminar pública con Databricks Runtime 16.1 (próximamente en Ladrillos de datos SQL y Tablas activas Delta de Databricks). colaciones Proporciona un mecanismo para fijar reglas de comparación de cadenas adaptadas a requisitos de idioma específicos, como la distinción entre mayúsculas y minúsculas y la distinción entre acentos. En este blog, exploraremos cómo funcionan las intercalaciones, por qué son importantes y cómo nominar la adecuada para sus micción.
Ahora, con Colations, los usuarios pueden nominar entre más de 100 reglas de clasificación específicas de cada idioma para implementarlas en sus flujos de trabajo de datos, lo que facilita operaciones como ordenar, inquirir y unir conjuntos de datos de texto multilingües. La compatibilidad con la intercalación facilitará la aplicación de las mismas reglas al portar desde sistemas de bases de datos heredados. Esta funcionalidad mejorará significativamente el rendimiento y simplificará el código, especialmente para consultas comunes que requieren comparaciones que no distinguen entre mayúsculas y minúsculas y acentos.
Características esencia del soporte de intercalación
La compatibilidad con la intercalación de Databricks incluye:
- Más de 100 idiomas, con variaciones de sensibilidad a mayúsculas y minúsculas
- Más de 100 expresiones Spark y SQL
- Compatibilidad con todas las operaciones de datos (uniones, clasificación, agregación, agrupación, etc.)
- Implementación optimizada para fotones
- Soporte nativo para tablas Delta, incluidas optimizaciones de rendimiento como omisión de datos, ordenamiento z, agrupación líquida, partición dinámica y poda de archivos.
- Simplifica las migraciones desde sistemas de bases de datos heredados
El soporte de intercalación es totalmente de código campechano y está integrado en Apache Spark™ y Delta Lake.
Usar intercalaciones en sus consultas
Las intercalaciones ofrecen una sólida integración con las funcionalidades establecidas de Spark, lo que permite que operaciones como uniones, agregados, funciones de ventana y filtros funcionen sin problemas con los datos intercalados. La mayoría de las expresiones de cautiverio son compatibles con intercalaciones, lo que permite su uso en diversas expresiones como CONTAINS, STARTSWITH, REPLACE, TRIM, entre otras. Más detalles están en la colección. documentación.
Resolver tareas comunes con intercalaciones
Para comenzar con las intercalaciones, cree (o modifique) una columna de tabla con la intercalación adecuada. Para nombres griegos, usarías el EL_AI colación, donde EL es el identificador de idioma para helénico y AI significa insensible al acento. Para nombres en inglés (que no tienen acentos), usarías UTF8_LCASE.
Para mostrar los escenarios desbloqueados por las intercalaciones, realicemos las siguientes tareas:
- Utilice una comparación que no distinga entre mayúsculas y minúsculas para inquirir nombres en inglés
- Utilice el orden del alfabeto helénico para ordenar nombres griegos
- Busque nombres griegos sin tener en cuenta los acentos
Usaremos una tabla que contiene los nombres de los héroes de la novelística de Homero. Ilíada tanto en helénico como en inglés para demostrar:
Para enumerar todas las intercalaciones disponibles, puede consultar colaciones TVF – SELECCIONAR * DE colaciones().
Deberías ejecutar el ANALIZAR comando posteriormente del ALTERAR comandos para comprobar de que las consultas posteriores puedan emplear la omisión de datos:
Ahora ya no necesitas hacer MÁS BAJO antaño de comparar explícitamente nombres en inglés. La poda de archivos todavía se realizará bajo el capó.
Para ordenar según las reglas del idioma helénico, simplemente puede usar ORDENAR POR. Tenga en cuenta que el resultado será diferente al de ordenar sin el EL_AI colación.
Y para inquirir, sin distinguir acentos, digamos todas las filas que se refieren a Agamenón (o Ἀγαμέμνων en helénico), simplemente aplique un filtro que coincida con la lectura acentuada del nombre helénico:
Rendimiento con colaciones
El soporte de colección elimina la carestia de realizar operaciones costosas para obtener resultados que no distinguen entre mayúsculas y minúsculas, lo que agiliza el proceso y mejoría la eficiencia.. El futuro representación compara el tiempo de ejecución utilizando la función LOWER SQL contra el soporte de intercalación para obtener resultados que no distinguen entre mayúsculas y minúsculas. La comparación se realizó en cadenas 1B generadas aleatoriamente. La consulta tiene como objetivo filtrar, en alguna columna ‘col’, todas las cadenas iguales a ‘abc’ sin distinguir entre mayúsculas y minúsculas. En el atmósfera donde se utiliza la intercalación UTF8_BINARY heredada, la condición de filtro es LOWER(col) == ‘abc’. Cuando la columna ‘col’ se clasifica con la clasificación UTF8_LCASE, la condición del filtro es simplemente col == ‘abc’, lo que logra el mismo resultado. El uso de la intercalación produce hasta Ejecución de consultas 22 veces más rápida aprovechando la omisión de archivos Delta (en este caso, Photon no se utiliza en ninguna de las consultas).

Con Photon, la mejoría del rendimiento puede ser aún más significativa (las velocidades reales varían según la clasificación, la función y los datos). El futuro representación muestra velocidades con y sin Photon para comparación de igualdad, funciones STARTSWITH, ENDSWITH y CONTAINS SQL con intercalación UTF8_LCASE. Las funciones se ejecutaron en un conjunto de datos de cadenas solo ASCII generadas aleatoriamente de 1000 caracteres de largura. En el ejemplo, STARTSWITH y ENDSWITH mostraron Rapidez del rendimiento 10 veces viejo al utilizar colaciones.

Con la excepción de la implementación optimizada para Photon, todas las funciones de intercalación están disponibles en Spark de código campechano. No hay cambios en el formato de datos, lo que significa que los datos permanecen codificados en UTF-8 en los archivos subyacentes y todas las funciones son compatibles con Spark y Delta Lake de código campechano. Esto significa que los clientes no están encerrados y deben ver su código como portátil en todo el ecosistema Spark.
¿Qué sigue?
En un futuro próximo, los clientes podrán establecer intercalaciones a nivel de catálogo, esquema o tabla. Próximamente todavía estará adecuado la compatibilidad con RTRIM, lo que permitirá que las comparaciones de cadenas ignoren los espacios en blanco finales no deseados. Estén atentos a la página de inicio de Databricks y a las páginas de documentación de Lo que viene para obtener actualizaciones..
Empezando
Comience con las intercalaciones, lea los Databricks documentación.
Para obtener más información sobre Databricks SQL, visite nuestro sitio web o lee la documentación. Asimismo puedes consultar el trayecto por el producto para Databricks SQL. Si desea portar su almacén existente a un almacén de datos sin servidor de parada rendimiento con una excelente experiencia de becario y un costo total más bajo, entonces Databricks SQL es la posibilidad. pruébalo graciosamente.