5.8 C
Madrid
miércoles, febrero 26, 2025

Presentación de intercalaciones en Databricks | Weblog de ladrillos de datos


Crear aplicaciones empresariales globales significa manejar diversos idiomas y una entrada de datos inconsistente. ¿Cómo sabe una base de datos que debe ordenar «Äpfel» después de «Apfel» en alemán o tratar «ç» como «c» en francés? ¿O manejar a los usuarios que escriben «John Smith» versus «john smith» y decidir si son iguales?

Las intercalaciones agilizan el procesamiento de datos al definir reglas para ordenar y comparar texto de manera que respeten el lenguaje 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 versión preliminar pública con Databricks Runtime 16.1 (próximamente en Ladrillos de datos SQL y Tablas activas Delta de Databricks). colaciones Proporcionar un mecanismo para definir 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 weblog, exploraremos cómo funcionan las intercalaciones, por qué son importantes y cómo elegir la adecuada para sus necesidades.

Ahora, con Colations, los usuarios pueden elegir 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, buscar y unir conjuntos de datos de texto multilingües. La compatibilidad con la intercalación facilitará la aplicación de las mismas reglas al migrar 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 clave 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, and so on.)
  • 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 abierto 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 cadena 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 recopilació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 griego 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 buscar nombres en inglés
  • Utilice el orden del alfabeto griego 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 novela de Homero. Ilíada tanto en griego 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 después del ALTERAR comandos para asegurarse de que las consultas posteriores puedan aprovechar la omisión de datos:

Ahora ya no necesitas hacer MÁS BAJO antes de comparar explícitamente nombres en inglés. La poda de archivos también se realizará bajo el capó.

Para ordenar según las reglas del idioma griego, simplemente puede usar ORDEN POR. Tenga en cuenta que el resultado será diferente al de ordenar sin el EL_AI colación.

Y para buscar, sin tener en cuenta los acentos, digamos que todas las filas que hacen referencia a Agamenón (o Ἀγαμέμνων en griego), simplemente aplica un filtro que comparará con la versión acentuada del nombre griego:

Rendimiento con colaciones

El soporte de recopilación elimina la necesidad de realizar operaciones costosas para lograr resultados que no distinguen entre mayúsculas y minúsculas, lo que agiliza el proceso y mejora la eficiencia.. El siguiente gráfico compara el tiempo de ejecución utilizando la función LOWER SQL versus 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 escenario 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).

Aceleración del rendimiento con intercalaciones

Con Photon, la mejora 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 siguiente gráfico 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 longitud. En el ejemplo, STARTSWITH y ENDSWITH mostraron Aceleración del rendimiento 10 veces mayor al utilizar colaciones.

Colecciones con Photon

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 abierto. 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 abierto. 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 también estará disponible 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 internet o lee la documentación. También puedes consultar el recorrido por el producto para Databricks SQL. Si desea migrar su almacén existente a un almacén de datos sin servidor de alto rendimiento con una excelente experiencia de usuario y un costo complete más bajo, entonces Databricks SQL es la solución. pruébalo free of charge.

Related Articles

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Stay Connected

0SeguidoresSeguir
0SuscriptoresSuscribirte
- Advertisement -spot_img

Latest Articles