- Introducción a Self Hosted Integration Runtime con Synapse Analytics
- Introducción
- Paso 1: Crear una cuenta de Azure
- Paso 2: Crear el servicio de Synapse Analytics
- Paso 3: Crear e instalar el entorno de ejecución (SHIR)
- Paso 4: Crear los Pipelines de prueba
- Paso 4: Consultando archivos parquet con serverless SQL Pools
- Paso 5: Conectar Power BI
- Paso 6: Configurar github
-
Este repositorio contiene una descripción -a grandes rasgos- de los pasos y material para replicar el video-tutrorial Introducción a Self Hosted Integration Runtime (SHIR) con Synapse Analytics.
-
El contenido está inspirado en el video How to Create Self Hosted IR and Load Data From On-Prem to Azure Cloud - Azure Data Factory Tutorial, sin embargo allí muestran una conexión con SQL Server.
-
El Self-Hosted Integration Runtime (SHIR) es similar al On-premise data gateway de Power BI y su función es transferir datos locales (on-premise) a los servicio de Azure en la nube.
-
Si no estás familiarizado con git, en lugar de clonar este repositorio, puedes simplemente bajar los archivos la carpeta data que necesites localmente.
-
La documentación de microsoft está disponible en inglés y español. Para pasar de un idioma al otro debes colocar en el url (www.docs.microsoft.com/{idioma}/) en-us o es-es según sea el caso.
Si no tienes acceso a una cuenta en Azure, tienes varias opciones gratuitas para empezar:
- ¿Tienes tarjeta de crédito? -> Cree soluciones en la nube con una cuenta gratuita de Azure
- ¿Eres estudiante? -> Compilación gratuita en la nube con Azure for Students
- Crear el Resource Group:
shir-test-rg
- Crear el recurso Azure Synapse Analytics:
synapse-test-ws
- Managed Resourse Group:
synapse-mngd-rg
- Datalake Gen2 Storage Account:
datalake-test-st
- File system name:
filesys-test-fs
- Managed Resourse Group:
Una vez creado el recurso, puedes acceder al ambiente de trabajo haciendo click en el Workspace web URL. A partir de lo cual se procede a crear el SHIR:
- En el espacio de trabajo o Synapse Analytics workspace, en el menú izquierdo seguir la opción Manage > Integration runtimes. Hacer click en + New y seguir los pasos seleccionando la opción Azure, Self Hosted.
- Integration runtime:
shir-test
- Integration runtime:
- Descargar el instalador. Luego instalar y configurar el SHIR localmente.
A continuación vamos a crear tres pipelines, cada uno con sus particularidades. La actividad más básica de un pipeline es copiar datos al entorno de Synapse. La actividad de copia está definida por una fuente y un destino. La estructura es básicamente la siguiente:
- Source data
- Integration dataset
- Linked Service
- Sink dataset
- Integration dataset
- Linked Service
-
Apache Parquet es un tipo de archivo columnar especialmente diseñado para almacenar y consultar datos de manera eficiente. Ver Apache Parquet.
-
Para subir archivos locales se requiere compartir en Windows la carpeta local que los contiene. De esta manera el SHIR podrá accederlos.
- En el portal de Azure se crea un pipeline (Integrate > + Pipeline) y se añade la actividad Copy data (Activities > Move and Transform > Copy data) con la siguiente configuración:
- Crear un nuevo Source dataset.
- Seleccionar File System en New Integration dataset y seleccionar el formato Parquet.
- Crear un linked service haciendo referencia el integration runtime
shir-test
y a la carpeta compartida.
- Crear Sink dataset.
- Seleccionar Azure Blob Storage en Integration dataset y luego formato Parquet.
Ejecutar el pipeline en Add Trigger > Trigger Now.
-
En este caso hacemos uso del conector Open Database Connectivity (ODBC) para copiar una tabla SQLite.
-
SQLite es una base de datos transaccional de código abierto, auto-contenida y serverless. Es la más usada del mundo, instalada en billones de dispositivos de todo tipo. Ver About SQLite
-
El destino de este pipeline será una tabla Azure Table Storage.
- Instalar SQLite ODBC driver descargando y ejecutando el archivo
sqliteodbc_w64.exe
link. - Configurar la base de datos en Windows, con ODBC Data Sources Administrator (64-bit)
- En System DSN, de nombre
sqlite_chinook
, que conecte el Data Source Name (DSN) al archivo (base de datos) ./data/chinook.db. El archivo fue descargado de SQLite Sample Database
Se siguen los mismos pasos anteriores, con la siguiente configuración:
- Crear Source dataset.
- Seleccionar ODBC en Integration dataset.
- Crear un linked service haciendo referencia al integration runtime
shir-test
. - En Connection string:
dsn=sqlite_chinook
(Mismo nombre que el paso anterior) - Authentication type:
Anonymous
- Ir al Storage Account.
- Seleccionar Table Service > +Table
- Seleccionar un nombre para la tabla.
- Crear un nuevo Sink dataset.
- Seleccionar Azure Table Storage en Integration dataset.
- Crear un nuevo Linked Service and y seleccionar la tabla creada anteriormente.
Ejecutar el pipeline en Add Trigger > Trigger Now.
-
Usamos nuevamente el conector ODBC, esta vez para copiar una tabla de una base de datos Access.
-
Esta base de datos se usaba hace unos siete años para la capacitación de Power BI Analyzing-Visualizing-Data-PowerBI. Está disponible aquí: PowerBI AccessDB.zip
-
Este caso es muy similar al anterior.
- El driver de Access está disponible en Windows.
- En ODBC Data Sources Administrato (64-bit), System DSN, crear
power_bi_access
. Conectando con la base de datos.accdb
.
Los pasos para la creación del pipeline son muy similares a lo realizado anteriormente.
Hacer una consulta (query) a alguno de los archivos Parquet que fueron pasados a Synapse.
Conectar Power BI con las tablas y archivos parquet creados en Azure.
Sincronizar los desarrollos realizados con github para control de versiones y CI/CD.