BI,  postgresql,  powerbi

Configuración de PostgreSQL en GCP (Google Cloud Platform) y PowerBI

En Planeta Huerto se ha desarrollado un proyecto de Business Intelligence utilizando las herramientas:

 

En el siguiente enlace se explica porqué se han utilizado estas herramientas y no otras: http://datamanagement.es/blog/2019/06/21/herramientas-proyecto-business-intelligence/

Introducción

Tenemos en Planeta Huerto un Data Warehouse con varias tablas de hechos y dimensiones (modelo de estrella). Algunas de esas tablas de hecho tienen alrededor de 30 millones de registros.

Pretendo usar Power BI para consumir toda esa información y además, Power BI es una excelente herramienta de explotación de datos, fácil, rápida, económica e intuitiva.
Trae multitud de conectores para conectarnos a casi cualquier origen de datos, además, tiene una especie de “ETL” que nos permite transformar datos, limpiar duplicados, crear columnas en base a condiciones etc… Para negocios pequeños este ETL viene fenomenal ya que puede unificar y relacionar datos de diferentes fuentes de datos. Para negocios grandes o que están creciendo no recomiendo hacer uso de este ETL y si plantear un desarrollo de Business Intelligence para toda la información centralizarla en un mismo repositorio.

Problema

El Data Warehouse lo tenemos en PostgreSQL en el cloud de google, el conector de PostgreSQL que trae Power BI no permite conectarse nativamente así que hay que buscar una alternativa para conectarse al Data Warehouse

Solución

Antes de ofrecer una solución hay que tener claro que se necesita una máquina con Windows (Esta máquina tiene que tener acceso a la BBDD) que es la que actuará como “Puerta de Enlace”, “Pasarela” o “puente” entre Power BI y la BBDD.

Descargar e instalar el driver ODBC de PostgreSQL: https://www.postgresql.org/ftp/odbc/versions/

Crear una conexión ODBC: En mi caso he creado una conexión ODBC dentro de la pestaña DSN de sistema y la he nombrado “PostgreSQL – Planeta Huerto”.

Buscar en el SO la configuración de orígenes de datos para definir un origen nuevo

Después de haber instalado el driver ODBC aparecerá en esta lista el tipo de origen que se necesita. En mi caso he utilizado Unicode(x64) porque al usar el ANSI(x64) algunos caracteres no se mostraban bien.

Crear un DSN de sistema con el controlador anterior

Dadle un nombre al DSN y configurar la conexión. Antes de guardar probad el botón “Test” para confirmar que se tiene acceso.

ODBC: ERROR [HY001] Out of memory while reading tuples.; memory allocation error???

Dentro de la opción “Datasource” están las opciones avanzadas necesarias para corregir este error y además, acelerar la importación de los datos.

Es importante activar este check y modificar el “Cache Size” cuando hay tablas con millones de registros. El Driver ODBC de PostgreSQL cuando realiza una consulta crea un Cursor importando N registros que se ha marcado en “Cache Size”. Dependiendo de la memoria y procesador este valor se irá ajustando, en mi caso lo he marcado a 50k registros para acelerar la importación de los datos.

Importación Datos Power BI – PostgreSQL con driver ODBC

Después de haber configurado la conexión ODBC Power BI ya podrá importarse los datos a través de ODBC.

Seleccionar la conexión ODBC para obtener datos

En el desplegable aparecen los DSN que se han creado en el sistema con las conexiones ODBC

Y ya está, aparecerá la pantalla para seleccionar los schemas y tablas que hay en la BBDD

 

2 Comments

Deja un comentario

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