La carga continua de datos se simplifica con Snowpipe de Snowflake

¿Tiene problemas con engorrosos canales de datos que le hacen perder tiempo y concentración? Snowpipe ofrece una ruta más sencilla para cargar datos continuamente. Este mágico servicio de Snowflake descubre automáticamente nuevos datos en S3 y los carga en tablas de Snowflake en tiempo real. No se requiere código, simplemente configúrelo y olvídese. Snowpipe maneja la sincronización constante detrás de escena, por lo que sus tablas siempre tienen los datos más recientes. Diga adiós a las engorrosas rutinas ETL. La simplicidad de Snowpipe le permite redirigir la energía hacia el análisis y alejarla del mantenimiento de tuberías. Continúe leyendo para descubrir los secretos de la carga de datos fluida, fluida y con manos libres con Snowpipe. Introducción a la carga de datos ¿Qué es la carga de datos? La carga de datos es el proceso de transferir datos de diversas fuentes a un sistema de almacenamiento de datos, como una base de datos o un almacén de datos. Es un paso fundamental en la gestión y análisis de datos. Importancia de la carga de datos La carga de datos eficiente es fundamental para las organizaciones que desean tomar decisiones informadas, extraer información valiosa y obtener una ventaja competitiva. Garantiza que los datos estén fácilmente disponibles para análisis, informes e inteligencia empresarial. Carga continua de datos en Snowflake La carga continua de datos, a menudo llamada integración continua de datos, es un proceso de carga de datos que inserta y actualiza continuamente datos en un sistema de destino en tiempo real o casi en tiempo real. La carga continua se utiliza para mantener los datos en el sistema de destino sincronizados con los cambios en los datos de origen, proporcionando información actualizada y precisa para análisis, informes y toma de decisiones. ¿Qué es un Snowpipe de copo de nieve? »Snowpipe» es un servicio integrado proporcionado por Snowflake para lograr la carga continua de datos desde etapas externas en tablas de Snowflake. Está diseñado para automatizar y simplificar el proceso de adquisición de datos de fuentes, como soluciones de almacenamiento basadas en la nube como Amazon S3, Azure Data Lake Storage o Google Cloud Storage. Exploremos cómo funciona Snowpipe y cómo lograr una carga de datos perfecta con Snowpipe mediante una demostración con AWS S3. Cree una etapa externa: en Snowflake, primero debe crear una etapa externa que apunte a su depósito S3. Este paso define la ubicación desde la cual Snowpipe adquirirá datos. El código SQL proporcionado crea una integración de almacenamiento llamada «AWS_int» en Snowflake. Las integraciones de almacenamiento en Snowflake se utilizan para conectar Snowflake a sistemas de almacenamiento externos basados ​​en la nube. En este caso, la integración de almacenamiento está configurada específicamente para funcionar con Amazon S3 como proveedor de almacenamiento. CREAR O REEMPLAZAR LA INTEGRACIÓN DE ALMACENAMIENTO AWS_int: esta línea inicia la creación de una integración de almacenamiento denominada «AWS_int». Si ya existe una integración de almacenamiento con el mismo nombre, se reemplazará con la nueva definición (de ahí la cláusula «OR REPLACE»). TYPE = EXTERNAL_STAGE: esta línea especifica el tipo de integración de almacenamiento. En este caso, se establece en «EXTERNAL_STAGE», lo que indica que se utilizará para conectarse a etapas externas de almacenamiento en la nube. STORAGE_PROVIDER = S3: Aquí especificas que el proveedor de almacenamiento externo es Amazon S3. Esto significa que la integración de almacenamiento está configurada para funcionar con Amazon S3 como sistema de almacenamiento externo. ENABLED = TRUE: esta línea habilita la integración del almacenamiento, lo que permite utilizarla para la integración de datos con el proveedor de almacenamiento especificado. STORAGE_AWS_ROLE_ARN = ‘arn:aws:iam::920580419138:role/s3accesstosnowflake’`: este es el nombre de recurso de Amazon (ARN) de un rol de AWS IAM utilizado para la autenticación y el acceso a Amazon S3. El rol «s3accesstosnowflake» está asociado con la cuenta de AWS especificada. Otorga permisos a Snowflake para acceder a los datos en el depósito de S3 especificado. STORAGE_ALLOWED_LOCATION = (‘s3://s3tosnowflakedemo/csv/’)`: especifica las ubicaciones permitidas o los depósitos de S3 y las ubicaciones a las que Snowflake puede acceder mediante esta integración de almacenamiento. En este ejemplo, la integración puede acceder al depósito `s3tosnowflakedemo` con la ruta `csv/` en él. COMMENT = ‘Integración con depósitos de AWS S3’: este es un comentario opcional que proporciona una descripción del propósito de la integración del almacenamiento. En resumen, este código crea una integración de almacenamiento llamada «AWS_int» configurada para funcionar con Amazon S3. Especifique la función de IAM para la autenticación, las ubicaciones de S3 permitidas y habilite la integración para integrar datos entre Snowflake y el depósito y la ubicación de S3 especificados. Esta integración permitirá a Snowflake interactuar con los datos de S3 especificados para la carga de datos y otras operaciones. Crear un formato de archivo: defina un formato de archivo que especifique cómo se formatean los datos de los archivos. Se utiliza para interpretar datos cuando se adquieren. Cree una integración: se utiliza una integración para conectar su cuenta de Snowflake a su depósito de AWS S3. Podemos consultar los archivos disponibles en el área del escenario con el siguiente código. Esta etapa está configurada para acceder a los datos almacenados en un depósito de Amazon S3 y utiliza una integración de almacenamiento para la autenticación y un formato de archivo predeterminado para el análisis de datos. Cree una tabla para cargar archivos: Cree un snowpipe: DESC pipe Employee_pipe; Una vez que tenga el ARN del canal de notificación, puede usarlo para configurar notificaciones de eventos para una cola SQS. Deberá configurar una regla de AWS EventBridge o una notificación de eventos de S3 para activar eventos cuando los datos se entreguen al canal de notificación. Revisemos la tabla. seleccione * de my_database.public.inustry_data; En pocas palabras: con estas configuraciones, cada vez que se agrega un nuevo archivo al depósito S3 especificado (s3://s3tosnowflakedemo/csv/), Snowpipe detectará automáticamente la adición. Luego, Snowpipe cargará los datos del nuevo archivo en la tabla Snowflake utilizando la etapa externa y el formato de archivo definidos. Al mismo tiempo, se habilitarán las notificaciones de eventos en la cola SQS, proporcionando un medio de notificación externa o integración con otros sistemas cuando se cargan datos. Esta configuración garantiza un proceso de carga de datos fluido y casi en tiempo real desde el depósito S3 a la tabla Snowflake, lo que permite actualizaciones automáticas a medida que llegan nuevos archivos. Las notificaciones de eventos mejoran aún más el sistema al permitir que los sistemas externos estén al tanto de los eventos de carga de datos en Snowflake y respondan a ellos.

About Francisco

Check Also

Los desarrolladores adoptan rápidamente las últimas versiones de Java

Según el cuarto informe anual sobre el estado del ecosistema Java de New Relic publicado …

Deja una respuesta

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