Snowflake ofrece un conjunto de productos de gestión y análisis de datos basados en una capacidad centralizada de almacenamiento de datos basada en la nube. Las organizaciones utilizan los productos Snowflake de diferentes maneras, tanto como sistemas analíticos como transaccionales para apoyar diversas aplicaciones empresariales. ArcGIS ofrece una variedad de puntos de integración con Snowflake, permitiendo diferentes flujos de trabajo para el acceso, el análisis y la visualización de datos.
Estos métodos pueden clasificarse en cuatro grupos:
Para un rendimiento óptimo al integrar ArcGIS con Snowflake, se recomienda que tanto los clientes de ArcGIS como el entorno de Snowflake se implementen en la misma plataforma y región en la nube. Esto minimiza la latencia y los costes de transferencia de datos, y proporciona el mejor rendimiento para las interacciones entre los clientes de ArcGIS y los servicios y extremos de Snowflake.
Los patrones de conexión directa permiten a los clientes de ArcGIS trabajar directamente con los servicios de Snowflake, sin necesidad de traducir ni copiar los datos en otra ubicación. Antes de establecer una conexión directa, instale el controlador ODBC adecuado de Snowflake en todas las máquinas cliente de ArcGIS que acceden a los datos. También es fundamental configurar los ajustes de red y del firewall necesarios para permitir la comunicación adecuada entre ArcGIS y Snowflake, lo que puede incluir la actualización de la lista de permitidos de Snowflake para autorizar solicitudes procedentes de clientes de ArcGIS.
Las capas de consulta de Snowflake pueden crearse en ArcGIS Pro, utilizarse como capas en flujos de trabajo cartográficos o analíticos y, posteriormente, publicarse en ArcGIS Enterprise para su uso por clientes web y otras aplicaciones.
En cualquiera de los dos casos, las capas de consulta proporcionan una conexión directa y en tiempo real con sus datos de Snowflake. Esto significa que cualquier cambio realizado en los datos de origen en Snowflake se refleja de inmediato en la capa de mapas de ArcGIS Pro o en la capa de consulta de ArcGIS Enterprise. Para crear una capa de consulta, primero establezca una conexión de base de datos con Snowflake en ArcGIS Pro mediante un esquema de autenticación compatible y, a continuación, defina una consulta SQL para seleccionar los datos específicos que desea visualizar. Para poder mostrarse en un mapa de ArcGIS Pro, los datos almacenados en Snowflake deben incluir una columna del tipo de datos de GEOGRAFÍA o GEOMETRÍA. Las tablas sin una columna espacial pueden agregarse como capas de consulta para su uso en gráficos o uniones, pero no pueden visualizarse como una capa de mapa.
Si desea conocer más buenas prácticas en este ámbito, consulte el contenido de data lakes y almacenes de datos.
Aunque las aplicaciones cliente de ArcGIS basadas en capas de consulta no admiten la edición directa de datos en almacenes de datos como Snowflake, puede desarrollarse un feed de datos personalizados para permitir operaciones de lectura y escritura cuidadosamente diseñadas.
Existen diversas herramientas y métodos para mover datos entre Snowflake y ArcGIS, lo que permite tanto flujos de trabajo de solo lectura como flujos bidireccionales en los que las ediciones o los nuevos envíos de datos circulan entre ambos sistemas. Para escribir datos en Snowflake, puede utilizar herramientas como la extensión ArcGIS Data Interoperability, que ofrece soporte de lectura/escritura para Snowflake. Esto le permite crear flujos de trabajo ETL (extracción, transformación y carga) para mover datos desde diversas fuentes a Snowflake. Data Interoperability también proporciona una capacidad de lectura ampliamente probada para acceder a los datos de Snowflake, que pueden consultarse, transformarse y escribirse en extremos de servicios de entidades de ArcGIS o en una tabla de geodatabase corporativa.
Puede utilizar ArcGIS API for Python en ArcGIS Notebooks para procesos ETL más personalizados y automatizados. Esto permite programar conexiones con Snowflake, consultar y procesar datos, y después publicarlos como servicios de entidades en ArcGIS Online o ArcGIS Enterprise. Este enfoque ofrece un alto grado de flexibilidad para tareas complejas de integración de datos.
ArcGIS Data Pipelines, una capacidad de ArcGIS, proporciona una interfaz intuitiva de arrastrar y soltar para introducir y preparar datos de diversas fuentes, incluido Snowflake. Puede crear canalizaciones de datos para conectarse a sus tablas de Snowflake, transformar los datos y cargarlos en ArcGIS Online o ArcGIS Enterprise como capas de entidades. Estas canalizaciones pueden programarse para ejecutarse automáticamente, lo que garantiza que los datos en ArcGIS se mantengan actualizados.
ArcGIS GeoAnalytics Engine amplía las capacidades analíticas de los entornos basados en Spark para trabajar con datos espaciales, incluidos los datos almacenados en Snowflake. Conectar cualquier entorno Spark compatible a una instancia de Snowflake permite utilizar las funciones SQL espaciales y las herramientas de análisis de GeoAnalytics Engine para realizar análisis geoespaciales a gran escala sobre sus datos de Snowflake. Esta integración resulta especialmente útil para las organizaciones que necesitan analizar datasets masivos y descubrir patrones y relaciones espaciales.
Los clientes de Snowflake también tienen acceso a un entorno de análisis de datos y Spark alojado en Snowflake, conocido como Snowpark. Trabajando en Snowpark, los usuarios de Snowflake pueden conectarse a ArcGIS Location Services para realizar operaciones geoespaciales directamente dentro de su entorno de Snowflake. Esto le permite enriquecer los datos de Snowflake con servicios de ArcGIS como geocodificación, generación de rutas y datos demográficos. Puede crear funciones definidas por el usuario (UDF) en Snowpark que llamen a las API de ArcGIS Location Services, lo que permite realizar estas operaciones a escala sobre los datos almacenados en Snowflake.
Para saber más sobre estos patrones de integración de Snowpark, consulte estos recursos: