Creando paneles informativos con Spark y Tableau Desktop
Creating informative dashboards with Spark and Tableau Desktop.
Automatización de la visualización de datos a gran escala con la herramienta Tableau Desktop

1. Introducción
Como representación visual de datos, la visualización de datos es un método ampliamente adoptado en el análisis de datos para obtener información útil para los negocios (por ejemplo, tendencias, patrones, valores atípicos, correlaciones, etc.) a partir de conjuntos de datos a gran escala. Recientemente, presenté un método de desarrollo de software para utilizar Spark, Plotly y Dash y así desarrollar paneles de visualización interactivos y perspicaces para aplicaciones web en Python [1].
Similar a [1], este artículo utiliza el mismo conjunto de datos de código abierto utilizado en [2] para mostrar cómo utilizar Spark y Tableau Desktop [3] para crear paneles perspicaces a partir de conjuntos de datos a gran escala en un lago de datos en la nube sin necesidad de programación.

La Figura 1 muestra una descripción general de alto nivel del flujo de trabajo. Consta de los siguientes pasos principales:
- conectar Tableau Desktop para la creación de paneles a Spark
- consultar el conjunto de datos desde el lago de datos en la nube
- crear gráficos de visualización de datos a partir del conjunto de datos cargado
- crear paneles a partir de los gráficos individuales creados
- publicar los paneles en el servidor de Tableau para compartirlos
2. Conectar Tableau Desktop a Spark
Como se describe en [4], se pueden seguir los siguientes pasos para utilizar Spark SQL como un motor de consulta distribuido utilizando su JDBC/ODBC [5] y conectar Tableau Desktop al motor de Spark SQL distribuido [4]:
- instalar Hadoop
- configurar Hive
- configurar MySQL
- configurar Spark
- configurar Tableau Desktop
3. Consultar Conjunto de Datos desde un Lago de Datos en la Nube
Una vez que Tableau Desktop se haya conectado correctamente al motor de Spark SQL distribuido, deberíamos poder navegar al esquema predeterminado y ver las tablas del clúster Hive Hadoop [4].
- Gamificar la etiquetación de datos médicos para avanzar en la IA
- Lucene al Descubierto – Manejando la Codificación y Compresió...
- Las principales 3 tendencias de arquitectura de datos (y cómo los L...
Desde la perspectiva de crear paneles con Tableau Desktop, no hay diferencia entre una tabla cargada desde un clúster Hive Hadoop y una tabla cargada desde un archivo local de Microsoft Excel. Para mayor comodidad, se utilizará la versión gratuita de Tableau Desktop Public con un archivo de Excel local convertido a partir del archivo csv del conjunto de datos en [2] con fines de demostración en este artículo.
4. Crear Gráficos de Visualización de Datos
Primero debemos crear gráficos de visualización individuales antes de poder crear paneles de visualización.
Podemos utilizar Tableau Desktop para crear muchos tipos diferentes de gráficos. Como se describe en [1], algunos de los gráficos son adecuados para visualizar características numéricas continuas, mientras que otros son adecuados para visualizar características categóricas discretas.
Similar a [1], este artículo utiliza Tableau Desktop para crear los siguientes diagramas comunes con fines de demostración.
- Gráficos para características numéricas: gráfico de dispersión, gráfico de histograma y gráfico de líneas
- Gráficos para características categóricas: gráfico de barras, gráfico de líneas y gráfico circular
4.1 Gráficos para Características Numéricas
Tableau Desktop utiliza el símbolo # para indicar características numéricas. Esta subsección muestra cómo utilizar Tableau Desktop para crear los siguientes tres gráficos comunes para características numéricas:
- gráfico de dispersión
- gráfico de histograma
- gráfico de líneas
4.1.1 Gráfico de Dispersión
Para un par de características numéricas, el gráfico de dispersión utiliza cada par de valores de características como coordenadas para dibujar un punto en un plano 2D. Como ejemplo, como en [1], la Figura 2 muestra un gráfico de dispersión de dos características numéricas: Identificación del Paciente y Depósito de Ingreso para personas de 21 a 30 años. La característica Tipo de Ingreso se utiliza para la codificación de colores.
Se pueden seguir los siguientes pasos para crear el gráfico de dispersión:
- arrastrar la característica Patientid y soltarla en la sección de Columnas
- arrastrar la característica Admission Deposit y soltarla en la sección de Filas
- arrastrar la característica Type of Admission y soltarla en la propiedad Color de la Tarjeta de Marcas
- hacer clic en el menú desplegable de la Tarjeta de Marcas y seleccionar Círculo
- hacer clic derecho en la característica Age, seleccionar mostrar filtro y seleccionar solo 21-30

Este gráfico de dispersión revela la idea de negocio de que la mayoría de los pacientes de emergencia y traumatología entre 21 y 30 años tenían un depósito en el rango de $3,000 a $6,000.
4.1.2 Gráfico de Histograma
Tableau Desktop trata un histograma como un gráfico de barras. Debido a esto, la característica numérica para las columnas debe convertirse en categórica mediante la agrupación, y la característica numérica para las filas debe ser agregada, como la suma.
Se pueden seguir los siguientes pasos para crear el histograma en la Figura 3:
- hacer clic derecho en la característica numérica Patientid y seleccionar “crear intervalos” para crear una nueva característica Patientid (intervalo)
- arrastrar la nueva característica Patientid (intervalo) y soltarla en la sección de Columnas
- arrastrar la característica numérica Admission Deposit y soltarla en la sección de Filas, luego hacer clic en la característica y seleccionar agregación SUM
- arrastrar la característica categórica Type of Admission y soltarla en la propiedad Color de la Tarjeta de Marcas
- hacer clic en el menú desplegable de la Tarjeta de Marcas y seleccionar Barra
- hacer clic derecho en la característica Age, seleccionar mostrar filtro y seleccionar solo 21-30

Este histograma nos muestra la idea de negocio de que los pacientes urgentes de entre 21 y 30 años tenían el menor monto total de depósito de admisión, mientras que los pacientes de emergencia tenían el mayor monto total de depósito de admisión.
4.1.3 Gráfico de Línea
Similar a la creación del gráfico de dispersión, se pueden seguir los siguientes pasos para crear el gráfico de línea en la Figura 4:
- arrastrar la característica Patientid y soltarla en la sección de Columnas
- arrastrar la característica Admission Deposit y soltarla en la sección de Filas
- arrastrar la característica Type of Admission y soltarla en la propiedad Color de la Tarjeta de Marcas
- hacer clic en el menú desplegable de la Tarjeta de Marcas y seleccionar Línea
- hacer clic derecho en la característica Age, seleccionar mostrar filtro y seleccionar solo 21-30

Similar al gráfico de dispersión, este gráfico de línea muestra la misma idea de negocio de que la mayoría de los pacientes de emergencia y traumatología entre 21 y 30 años tenían un depósito en el rango de $3,000 a $6,000.
4.2 Gráficos para Características Categóricas
Tableau Desktop utiliza el símbolo Abc para indicar características categóricas. Esta subsección muestra cómo utilizar Tableau Desktop para crear los siguientes tres gráficos comunes para contar los valores de características categóricas:
- gráfico de barras
- gráfico de línea
- gráfico de torta
4.2.1 Gráfico de Barras
Como ejemplo, se pueden seguir los siguientes pasos para crear el gráfico de barras en la Figura 5 para contar los valores de la característica categórica Stay:
- arrastra la característica “Stay” y suéltala en la estantería “Columnas”
- arrastra la misma característica “Stay” y suéltala en la estantería “Filas”, luego haz clic en la característica colocada y selecciona la agregación “Conteo”
- haz clic en el menú desplegable de “Tarjeta de Marcas” y selecciona “Barra”
- haz clic derecho en la característica “Edad”, elige “Mostrar filtro” y selecciona solo “21-30”
- Haz clic en la propiedad “Color” de “Tarjeta de Marcas” y selecciona un color morado

Este gráfico de barras muestra la idea de negocio de que para los pacientes de entre 21 y 30 años, más pacientes se quedaron en el hospital durante 21-30 días en comparación con otros intervalos de hospitalización.
4.2.2 Gráfico de Línea
Similar al gráfico de barras, se pueden seguir los siguientes pasos para crear el gráfico de línea en la Figura 6 para el recuento de valores de la característica categórica “Stay”:
- arrastra la característica “Stay” y suéltala en la estantería “Columnas”
- arrastra la misma característica “Stay” y suéltala en la estantería “Filas”, luego haz clic en la característica colocada y selecciona la agregación “Conteo”
- haz clic en el menú desplegable de “Tarjeta de Marcas” y selecciona “Línea”
- haz clic derecho en la característica “Edad”, elige “Mostrar filtro” y selecciona solo “21-30”
- Haz clic en la propiedad “Color” de “Tarjeta de Marcas” y selecciona un color morado

Similar al gráfico de barras, este gráfico de línea revela la misma idea de negocio de que para los pacientes de entre 21 y 30 años, más pacientes se quedaron en el hospital durante 21-30 días en comparación con otros intervalos de hospitalización.
4.2.3 Gráfico de Pastel
La creación de un gráfico de pastel no es tan directa como la creación de gráficos de línea y barras.
Podemos seguir los siguientes pasos para crear el gráfico de pastel en la Figura 8 para el recuento de valores de la característica categórica “Stay”:
- arrastra la característica “Stay” y suéltala en la estantería “Columnas”
- arrastra la misma característica “Stay” y suéltala en la estantería “Filas”, luego haz clic en la característica colocada y selecciona la agregación “Conteo”
- haz clic derecho en la característica “Edad”, elige “Mostrar filtro” y selecciona solo “21-30”
- haz clic en “Mostrar” en la esquina superior derecha de la hoja de gráficos y selecciona el icono de pastel. Un pequeño gráfico de pastel aparecerá como se muestra en la Figura 7.
- aumenta el tamaño del gráfico de pastel seleccionando la propiedad “Tamaño” de “Tarjeta de Marcas” y luego seleccionando y arrastrando el cuadro delimitador del gráfico de pastel
- arrastra la característica de agregación “CNT(Stay)” y suéltala en la propiedad “Etiqueta” de “Tarjeta de Marcas”

La Figura 8 muestra el gráfico de pastel final después de seguir los pasos anteriores.

Similar al gráfico de barras y al gráfico de línea, este gráfico de pastel confirma la misma idea de negocio de que para los pacientes de entre 21 y 30 años, más pacientes (2,197 en total) se quedaron en el hospital durante 21-30 días en comparación con otros intervalos de hospitalización.
5. Creando Paneles de Control
Una vez que se han creado gráficos individuales, podemos seleccionar y combinar gráficos individuales en un panel de control.
5.1 Panel de control para visualizar pares de características numéricas
Se puede seguir el siguiente procedimiento para crear un panel de control para la visualización de pares de características numéricas, como Patientid y Admission Deposit.
Paso 1: seleccionar el menú Panel de control y luego seleccionar Nuevo panel de control
Paso 2: arrastrar las siguientes hojas de gráficos creadas una por una y soltarlas en la nueva hoja del panel de control:
- Grafico de dispersión de ejemplo de pares de características numéricas
- Grafico de histograma de ejemplo de pares de características numéricas
- Grafico de línea de ejemplo de característica numérica
La Figura 9 muestra el panel de control recién creado.

5.2 Panel de control para visualizar recuentos de valores categóricos
Se puede seguir el siguiente procedimiento para crear un panel de control para la visualización de los recuentos de valores de la característica categórica Stay.
Paso 1: seleccionar el menú Panel de control y luego seleccionar Nuevo panel de control
Paso 2: arrastrar las siguientes hojas de gráficos creadas una por una y soltarlas en la nueva hoja del panel de control:
- categorical_feature_bar
- categorical_feature_line
- categorical_feature_pie
La Figura 10 muestra el panel de control recién creado.

6. Publicación de paneles de control
Una vez que se crea un panel de control, se puede publicar en Tableau Server para compartirlo.
Existen tres tipos de servidores:
- Tableau Public
- Tableau Server
- Tableau Cloud
Los paneles de control creados en este documento solo se pueden publicar en Tableau Public porque se ha utilizado Tableau Desktop Public gratuito para crear esos paneles de control.
Se pueden seguir los pasos de publicación en [6] para publicar los paneles de control con el conjunto de datos relacionado en el servidor Tableau Public para su visualización pública.
7. Conclusión
Tableau es una plataforma de análisis de datos visuales de múltiples niveles con una arquitectura complicada. Este documento presenta un método para integrar Spark con Tableau para consultar datos de un lago de datos a gran escala (por ejemplo, Hadoop Hive) en la nube primero y luego demuestra cómo usar Tableau Desktop para crear paneles de control perspicaces a partir de conjuntos de datos cargados sin programación.
Como herramienta de autoría y uso compartido de paneles de control, Tableau Desktop admite muchas formas diferentes de crear gráficos de visualización. Puede resultar confuso entender por dónde empezar y cómo crear gráficos y paneles de control perspicaces. Este documento puede ayudar a aprender Tableau Desktop rápidamente al centrarse solo en dos escenarios de visualización simples: uno para visualizar un par de características numéricas y otro para visualizar los recuentos de valores de una característica categórica.
Referencias
[1] Yu Huang, Developing Interactive and Insightful Dashboards with Spark and Plotly Dash
[2] Yu Huang, Predicting Hospitalized Time of Covid-19 Patients
[3] Tutorial: Get Started with Tableau Desktop
[4] A Guide to Setting up Tableau with Apache Spark
[5] Distributed SQL Engine
[6] Share your findings