Blog

La Data Web

Un espacio para compartir ideas, tutoriales, automatizaciones y experiencias reales de trabajo con plataformas de datos y analítica. Artículos y notas sobre datos, Power BI, Fabric, Azure y automatización.

[AzureScript][T1:E1] Introducción

Introducción

Comencemos esta serie de artículos de manejo de azure con scripts de powershell. El punto inicial por comentar es: ¿para que quiero manejar Azure desde un script si tengo el portal que es más amigable?

  • Con Azure PowerShell se combinan la velocidad de una herramienta de consola, la flexibilidad de un lenguaje de scripting, y el poder de una interfaz de administrador (mientras tengas los permisos, claro).
  • Podes programar tareas rutinarias (es mas fácil y rápido ejecutar un script que haga lo que queres, que hacerlo desde el portal). ¡Pensalo una vez! Después solo ejecutalo y ¡listo!
  • Así como en Windows podes hacer con PowerShell todo (incluso más) lo que se puede hacer mediante la interfaz gráfica, con las librerías de Azure podes hacer todo lo que puedas hacer desde el portal.
  • ¡Integración con Azure Automation para ejecutar scripts as a service! Con schedules configurables y súper versátiles (haré un post dedicado a esto).
  • Puede usarse para ejecutar tareas sencillas (prender algún recurso, escalar una base de datos, etc) y también para tareas más complejas (ejecución de procesos ETL, deploy de recursos, asignación de permisos, etc).

Con algo de suerte, ya te convencí de que es importante al menos tener una idea de que esto existe, que puede facilitarte el trabajo y que no es muy difícil ni lleva mucho tiempo, sobretodo considerando el tiempo que ahorras automatizando tareas aburridas y repetitivas.

Ahora en cuanto a las versiones, ¿cual usar? Si googlean un poco, verán que hay varios nombres de librerías y puede resultar un poco confuso al principio, a continuación un resumen:

  1. CLI: Azure CLI (por Command Line Interface) es una herramienta 100% cross platform, que tiene la ventaja de que su sintaxis es identica para cualquier sistema operativo. Un script que use Azure CLI puede ejecutarse tanto en PowerShell como en Bash, y funcionara exactamente de la misma manera. No es sobre lo que estaré hablando en los próximos posts, pero sin dudas es una opción a tener en cuenta!! https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
  2. Azure PowerShell: estas son las librerías hechas específicamente para PowerShell, usa el formato de cmdlets (quienes sepan algo de PowerShell entenderán) y también son cross platform gracias a la existencia y compatibilidad con PowerShell Core! PowerShell Core esta disponible tanto para Windows, Linux o para Mac: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-6. Hay 2 versiones de estas librerías:
    1. AzureRM: RM se refiere a Resource Manager. Esta versión es la "vieja" de las librerías de Azure PowerShell, pero es la que mas funcionalidades tiene y viene por defecto instalada en Azure Automation. En esta serie de blogs estaré usando esta versión por ser la mas madura.
    2. Az: Esta es la nueva versión que esta desarrollando Microsoft, que intenta reemplazar completamente a AzureRM. Sin embargo, al día de hoy hay funcionalidades que aun no posee. De todos modos los cmdlets son prácticamente los mismos que los que veremos en adelante, solo hay que reemplazar "AzureRM" por "Az". Por ejemplo, al loguear en Azure usamos "Login-AzAccount" en lugar de "Login-AzureRMAccount".

Listos?? A instalar!!

Para finalizar este post introductorio, vamos a instalar las librerías de Azure PowerShell.
Primero, debemos abrir una terminal de PowerShell con permisos de administrador (no es 100% necesario, pero facilita las cosas).
Segundo, un checkeo de compatibilidad. Escribe:

$PSVersionTable.PSVersion

El resultado debería ser 5.1.0 o mas! Si no es así, actualiza tu versión de PowerShell. https://docs.microsoft.com/en-us/powershell/scripting/install/installing-windows-powershell?view=powershell-6#upgrading-existing-windows-powershell

Tercero, instalamos las librerías. Escribe:

Install-Module AzureRM

Luego de escribirlo, nos pedirá una confirmación a la que respondemos Y (o S, según el idioma del sistema operativo que tengamos).

Por último, probemos hacer un login! Escribe:

Login-AzureRMAccount

Esto debería abrir un ventana para que puedas loguear de forma gráfica en Azure. Hay otras formas 100% como comando. ¡Las veremos más adelante!

¡Listo! Espero haberles despertado interés sobre el tema, próximamente estaré escribiendo sobre la forma de realizar diferentes tareas con esta versátil herramienta.

Escrito por Martin Zurita.

Capítulo Siguiente

Leer artículo
azure azure automation powershell

[AzureDataEngineering] ¡Invitado Especial!

En esta oportunidad La Data Web trae un post de un crack de la ingeniería de datos que muy amablemente quiso aportar en escritura. Sin más que escribir dejo su artículo exhibido con su consentimiento donde se presentará:

¡Hola a todos! Les cuento que voy a iniciar una serie de blog posts en los cuales explicaré la forma de usar Azure desde scripts, en particular desde PowerShell (pero la mayoría de los conceptos aplican a Python, Bash, y cualquier otro lenguaje de scripting que sea soportado).

Presentación

Antes de comenzar.. ¿quien escribe esto? Una breve presentación: Soy Martin Zurita, trabajo actualmente como Data Engineer en Pi Data Strategy & Consulting, llevo casi 3 años trabajando con la suite de Azure, sobretodo lo que refiere a la parte de Big Data/BI/ETL, no voy a mencionar cada tecnología porque la idea no es aburrirlos o abrumarlos con nombres. Estoy actualmente tercero en mas preguntas respondidas acerca de Data Factory en StackOverflow https://stackoverflow.com/tags/azure-data-factory-2/topusers . Intento probar y mantenerme al dia con las novedades de la plataforma, y aunque me falta mucho aun por aprender, tengo un buen manejo del tema que les estaré desarrollando en este y en futuros blog posts. Mis links:

Saludos y hasta pronto en el primer post.

Leer artículo
azure ladataweb azure argentina

[DataModeling] Sincronizar filtros entre dimensiones

El modelado de datos de Power Bi se vuelve cada vez más poderoso. Algunas veces, esta potencia es usada sin consideración de efectos secundarios. Lo expertos suelen mencionar el riesgo de la bidireccionalidad entre tablas o la falta de armado de un modelado de los datos.

Algunos de estos casos de bidireccionalidad eran mitigados construyendo medidas (CROSSFILTER) para que aquel cambio en la navegación solo afecte al valor calculado. Aún así, muchos optaban por hacer dicho cambio porque los requerimientos del cliente incluían que una dimensión pueda filtrar a otra.
En los primeros release de Power Bi esto era posible bugueando las visualizaciones. Hoy, gracias al update de Junio, es posible realizarlo de forma convencional sin bug. Esto sucede gracias a la nueva posibilidad de poder incorporar filtros a nivel visual dentro de la visualización de segmentación de datos. Entonces podríamos agregar una medida como filtro que nos ayude a determinar los elementos que deberían permanecer tras filtrar otra dimensión.

Veamos como se hace:

Leer artículo
data modeling power bi power bi desktop

[DataModeling] Bases de un modelo de estrella

La construcción de un modelo de Bi no es algo que debe tomarse a la ligera e ir cargando tablas en Power Bi e intentando relacionar como estén. Ciertamente escribo este post para que comprendan una forma de modelado que puede ayudar a mejorar la performance de su bi y ahorrarles muchos dolores de cabeza en peticiones del cliente y DAX. Pensar en un modelo es tener un diseño de datawarehouse que luego puede ser llevado a una capa semántica (SSAS o Power Bi) o podríamos aplicarla en ésta última capa en caso que no tengamos un Warehouse.  En esta oportunidad vamos a construir un modelo de estrella.

CONTEXTO

La realidad inicia en bases de datos normalizadas donde toda la información está al mínimo evitando todo tipo de replicaciones y muy relacionada entre si.

image

Nuestro objetivo para concretar el modelo es denormalizar este conjunto tomando solo aquellas tablas que estén alineadas al objetivo o área de negocio en la cual diseñaremos un modelo.

Los modelo de estrellas consisten en dos tipos de tablas construidas

Tablas de hecho: son tables que mantienen los datos numéricos o calculables que podrían ser usados como agregaciones en los reportes posteriormente.

Tablas dimensiones: son tablas que mantienen la información descriptiva que podría ser usada como segmentación de datos sobre la tabla de hecho.

Leer artículo
powerbi power bi data modeling

[PowerQuery] Escribe y chequea código M en Notepad++

Hoy por hoy el lenguaje Power Query se convirtió en el inicio de varias herramientas de Microsoft que nos permite limpiar y procesar antes de interactuar con la propia herramienta. Podemos conocer sobre en su sitio. Setearemos el lenguaje power  query en Notepad++ para que podamos nutrirnos de pensar código "M" en frío detenidamente analizando por esquema de colores, avisos de paréntesis y hasta intellisense. Pasos para realizarlo:

Leer artículo
power query power bi power bi desktop