Cómo poner Azure Data Factory (ADF) ) Conector de copo de nieve para usar

(Mohini Kalamkar) (3 de diciembre de 2020)

Las empresas tienen sus datos almacenados en varias ubicaciones, desde bases de datos internas hasta plataformas SaaS. Para obtener información valiosa sobre estos datos, debe extraer y cargar los datos de varias fuentes en un almacén de datos o lago de datos. Para conectar o construir lo que a veces pueden ser canalizaciones de datos ETL / ELT bastante complejas, las empresas prefieren utilizar herramientas modernas como Matillion, Azure Data Factory, Fivetran, Talend Stitch y muchas más. Dependiendo de su arquitectura y requisitos de datos, puede elegir una o varias herramientas ETL / ELT para su caso de uso.

Recientemente, tuve la oportunidad de explorar ambas Matillion y Azure Data Factory (ADF) para cargar datos en Snowflakes Data Cloud . La mayor parte de esta publicación se centrará en mi experiencia con ADF, pero también hablaré brevemente sobre Matillion.

Antes de entrar en la discusión sobre herramientas de integración de datos, si está considerando una plataforma de datos en la nube en cualquiera de las 3 principales nubes públicas, recomiendo echarle un vistazo a Snowflake. Snowflake continúa impresionando con un servicio impactante y rentable que marca todas las casillas clave para nuestro equipo en Hashmap, y es una primera solución de SQL con la que puede comenzar a funcionar muy rápidamente.

Quick Thoughts en Matillion

Descubrí que Matillion tiene un nivel adicional de madurez en comparación con ADF con respecto a la integración de fuentes con Snowflake. En particular:

  • Excelente interfaz de usuario
  • Modifique Warehouse para escalar hacia arriba y hacia abajo trabajo por trabajo
  • Crear componente de formato de archivo (crea un formato de archivo con nombre que se puede usar para cargar datos de forma masiva en tablas de Snowflake y descargarlos de ellas)

El equipo de Microsoft ADF todavía está trabajando para agregar algunas de estas características al conector ADF para Snowflake.

El conector ADF Snowflake

Pasemos al conector ADF Snowflake . Cubriré varios temas que se enumeran a continuación:

  1. Uso del conector ADF Snowflake: implementación de SCD tipo 1 .
  2. Capacidades del conector ADF Snowflake.
  3. Limitaciones del conector ADF Snowflake (al momento de escribir este artículo).

Azure Data Factory (ADF) es el servicio en la nube de Azure que le permite crear flujos de trabajo basados ​​en datos para orquestar y automatizar el movimiento y la transformación de datos.

ADF tiene una gama de conectores integrados que permiten la integración con varias fuentes de datos y destinos, y en junio de 2020, el equipo de ingeniería de Microsoft ADF agregó soporte para Snowflake como un almacén de datos de destino.

Una nota rápida de que también tuve la necesidad de integrar y conectar Azure Functions con Snowflake, pero guardaré esa discusión para otra publicación.

Para comenzar a explorar el conector ADF Snowflake, ¡veamos cómo se puede implementar SCD tipo 1 con el conector ADF!

Introducción

Para este diablillo Para la implementación se utilizan los siguientes servicios de Azure: Azure Blob Storage, Azure Data Factory (servicios vinculados, conjuntos de datos y flujos de datos).

Requisito previo:

  • Servicios vinculados de ADF para Azure blob almacenamiento y se crea su cuenta de Snowflake.
  • Se crea una tabla de Planes en Snowflake con el siguiente esquema:
CREATE TABLE Planes (
ICAO nvarchar(200),
IATA nvarchar(200),
MAKER nvarchar(200),
DESCRIPTION nvarchar(200)
);
  1. Primero, carguemos un archivo CSV en Azure blob.
archivo CSV
Archivo CSV

2. En ADF, cree un conjunto de datos (fuente) para el archivo de blob.

Conjunto de datos para blob
Conjunto de datos para archivo blob

3. Cree un conjunto de datos (sumidero) para Snowflake.

Conjunto de datos para Snowflake

4. Ahora, creemos un ADF Dataflow con 3 componentes. Source, AlterRow y Sink.

Como se muestra a continuación, seleccione el conjunto de datos de origen creado en el Paso 1.

Configuración de origen del flujo de datos

5. Continuación de la configuración de la fuente del flujo de datos:

Configuración de la fuente del flujo de datos

6. Ahora, obtengamos una vista previa de los datos de la fuente.

La captura de pantalla siguiente muestra la vista previa de los datos de la Fuente.

Vista previa de datos de origen de Dataflow

7. Ahora, una vez que la fuente esté lista, agreguemos la transformación Alter.Alterar transformación permite inserciones / actualizaciones / upserts y elimina registros según las condiciones dadas.

He especificado la condición para Upsert.

AlterRow de flujo de datos

8. Configuración de Dataflow Sink.

Como se muestra a continuación, seleccione el servicio vinculado creado para Snowflake.

Receptor de flujo de datos

9. Configuración del receptor de flujo de datos.

Seleccione el esquema Snowflake, el nombre de la tabla y el método de actualización.

Seleccione la clave principal de la tabla Snowflake en «Columnas de clave». Según las Columnas clave, los registros se insertarán / insertarán / eliminarán / actualizarán en la tabla del receptor.

Es una buena práctica marcar Vista previa de datos antes de pasar a la siguiente tarea en Dataflow.

Receptor de flujo de datos

10. Importe el flujo de datos a la canalización y haga clic en depurar.

Importar el flujo de datos a la canalización

11. Ahora, verifiquemos las tablas de Planes en Snowflake.

Todos los registros se insertan en la tabla de Snowflake.

Tabla de copos de nieve – Aviones

12. A continuación, actualice el archivo CSV.

Se actualizó A318 e insertó B713.

Archivo CSV actualizado

13. Depura la canalización y consulta la tabla Planes en Snowflake.

Como se muestra en la siguiente captura de pantalla muestra, tiene un registro actualizado para A318.

Registro actualizado en la tabla Planes

14. El nuevo registro B713 se inserta en la tabla Planes.

Tabla de planos: nuevo registro insertado desde la tabla CSV

Como se muestra en los pasos 13 y 14, los registros nuevos y actualizados están disponibles en la tabla Snowflake.

Entonces, sin escribir ningún código, es bastante fácil y directo lograr el SCD tipo 1 usando el conector ADF Snowflake.

Capacidades del conector ADF Snowflake

Al implementar ADF Connecto r para Snowflake sabe que tendrá soporte para los siguientes tipos de actividades:

Para obtener más detalles, consulte este documento: https://docs.microsoft.com/en-us/azure/data-factory/connector-snowflake

Entonces, el conector tiene algunas buenas capacidades, sin embargo, también hay algunas limitaciones a tener en cuenta. Veamos eso.

Limitaciones del conector ADF Snowflake

  1. Al crear un servicio vinculado para la cuenta Snowflake, la integración SSO (navegador externo autenticador) aún no es compatible.
  2. ADF Snowflake Connector no admite la ejecución de un procedimiento almacenado Snowflake. Sin embargo, una alternativa o solución temporal es llamar a procedimientos almacenados mediante Azure Functions.
  3. Debe haber disponible una tabla Snowflake antes de cargar los datos.
  4. Solo se admite la copia directa desde / hacia Snowflake para los siguientes formatos: Parquet, texto delimitado y JSON (la tabla Snowflake o el resultado de la consulta solo tienen una sola columna y el tipo de datos de esta columna es VARIANT, OBJECT o ARRAY). Cuando su formato o almacén de datos de origen / receptor no es compatible de forma nativa con el comando COPY de Snowflake, debe habilitar la copia preparada incorporada mediante una instancia de almacenamiento de Azure Blob provisional que agrega un costo adicional a la facturación de Azure.

Reflexiones finales

El conector ADF Snowflake está dando grandes pasos para facilitar la conexión de herramientas nativas de Microsoft a Snowflake e implementar SCD tipo 1. Al igual que con todas las herramientas de integración de datos, es siempre se recomienda diseñar, diseñar e implementar un enfoque de solución final basado en los casos de uso, patrones, SLA, conjuntos de habilidades y requisitos de consumo de datos que dicta su situación individual.

Listo para acelerar su ¿Transformación digital?

En Hashmap, trabajamos con nuestros clientes para construir mejor, juntos.

Si está considerando mover productos y aplicaciones de datos y análisis a la nube o si lo desea ayuda y orientación y algunas de las mejores prácticas para ofrecer resultados de mayor valor en su programa en la nube, contáctenos.

Hashmap ofrece una gama de talleres de habilitación y servicios de evaluación, servicios de migración y modernización de la nube y paquetes de servicios de consultoría como parte de nuestra nube ( y ofertas de servicios de Snowflake ). Estaremos encantados de trabajar con sus requisitos específicos.

Otras herramientas y contenido que podría gustarle

Snowflake Utilities & Aceleradores | Haga más con Snowflake | Hashmap

Pruebe todas las utilidades de Snowflake que Hashmap tiene disponibles y haga más con Snowflake: Snowflake Inspector…

www.hashmapinc.com

(

Aumente su estado de cuenta de Snowflake con métricas de usuario

Un truco simple puede ser la clave para comprender su gasto de cómputo de Snowflake

medium.com

)

Hashmap Megabytes | Serie de videos de tamaño pequeño

Hashmap Megabytes es una serie de videos semanales en la que las ideas de mega nubes se explican en porciones del tamaño de un bocado.

www.hashmapinc.com

(

5 pasos para convertir trabajos de Python a PySpark

Pasar de Pandas a PySpark usando Apache Arrow o Koalas

medium.com

)

Siéntase libre de compartir en otros canales y asegúrese de estar al día con todo el contenido nuevo de Hashmap aquí . Para escuchar una conversación informal sobre todo lo relacionado con la ingeniería de datos y la nube, consulte el podcast de Hashmap Hashmap on Tap también en Spotify, Apple, Google y otras aplicaciones de transmisión populares.

Hashmap on Tap | Podcast de Hashmap

Un elenco rotativo de anfitriones de Hashmap e invitados especiales exploran diferentes tecnologías desde diversas perspectivas mientras disfrutan de una bebida de su elección.

www.hashmapinc.com

Mohini Kalamkar es consultor de ingeniería de datos y nube con Hashmap proporcionando soluciones de datos, nube, IoT y AI / ML y experiencia en consultoría en todas las industrias con un grupo de tecnólogos innovadores y expertos en el dominio que aceleran los resultados comerciales de alto valor para nuestros clientes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *