Para abrir big data de una manera visual, ¿cómo se conecta Tableau con Hadoop Hive?

Prefacio

Hadoop Hive es una herramienta de almacenamiento de datos basada en Hadoop, que puede asignar archivos de datos estructurados a una tabla de base de datos y proporcionar funciones de consulta SQL completas; las declaraciones SQL se pueden convertir en tareas de MapReduce para la operación, con la ventaja de los bajos costos de aprendizaje; Estadísticas simples de MapReduce se puede realizar rápidamente a través de declaraciones similares a SQL, sin la necesidad de desarrollar aplicaciones especiales de MapReduce, que son muy adecuadas para el análisis estadístico de almacenes de datos. Este artículo presentará en detalle cómo Tableau se conecta a Hadoop Hive y sus precauciones.

El siguiente enlace es un tutorial de aprendizaje de tableau cuidadosamente compilado por el blogger, que incluye partes básicas y tutoriales avanzados, y los pequeños socios que lo necesiten pueden suscribirse por sí mismos.

Tutorial avanzado de Tableau Visual Data Analysis

https://blog.csdn.net/wenyusuran/category_9596753.html

Puntos de conocimiento del análisis de datos visuales de Tableau en detalle

https://blog.csdn.net/wenyusuran/category_9274958.html

 

1. Introducción a Hadoop


La razón de la existencia de Hadoop es que es adecuado para almacenar y computar big data. Un clúster de Hadoop se compone principalmente de dos partes: una es una "biblioteca" para almacenar y calcular "datos", y la otra es un marco de almacenamiento y cálculo.

1.1 Sistema de archivos distribuido Hadoop

El sistema de archivos distribuido de Hadoop es una implementación del sistema de archivos, similar a NTFS, EXT3, EXT4, etc. Sin embargo, el sistema de archivos distribuido de Hadoop está construido en un nivel superior. Los archivos almacenados en HDFS se dividen en bloques (cada bloque es de 64M por defecto, que se distribuye principalmente en varias máquinas que los bloques del sistema de archivos ordinarios, y cada bloque tiene más bloques Copia de seguridad de redundancia (el valor predeterminado es 3) para mejorar la tolerancia a fallas del sistema de archivos. Este modo de almacenamiento complementa el modelo de cálculo de MapReduce posterior. La implementación específica de HDFS consta principalmente de las siguientes partes:
 

1. Nombre del nodo (NameNode)

La responsabilidad del nodo de nombre es almacenar los metadatos de todo el sistema de archivos, que es una función muy importante. Los metadatos se cargarán en la memoria cuando se inicie el clúster y los cambios en los metadatos también se escribirán en el archivo de imagen del sistema en el disco. Al mismo tiempo, se mantendrá el registro de edición de los metadatos. Cuando HDFS almacena archivos, los archivos se dividen en bloques lógicos para su almacenamiento y las relaciones correspondientes se almacenan en el nodo de nombre. Si está dañado, los datos de todo el clúster no estarán disponibles. Podemos tomar algunas medidas para hacer una copia de seguridad de los metadatos del nodo de nombre, como configurar el directorio del nodo de nombre en un directorio local y un directorio NFS al mismo tiempo, de modo que cualquier cambio de metadatos se escriba en dos ubicaciones para una copia de seguridad redundante. El proceso de escritura redundante en los dos directorios es atómico, de modo que después de que el nodo de nombre en uso se apaga, podemos usar el archivo de respaldo en el NFS para restaurar el sistema de archivos.
 

2.
La función del nodo de nombre secundario (SecondaryNameNode) es fusionar periódicamente la imagen del espacio de nombres a través del registro de edición para evitar que el registro de edición sea demasiado grande. Sin embargo, el estado del nodo del segundo nombre va por detrás del del nodo del nombre principal. Si el nodo del nombre principal deja de funcionar, debe haber alguna pérdida de archivos.
 

3. Nodo de datos (DataNode)
Este es el lugar donde se almacenan los datos en HDFS Generalmente, hay varias máquinas. Además de proporcionar servicios de almacenamiento, también envía periódicamente una lista de bloques almacenados al nodo de nombre. El nodo de nombre no necesita almacenar permanentemente cada archivo y el nodo de datos donde se encuentra cada bloque. Esta información será reconstruida por el nodo de datos después de que se inicie el sistema.

1.2 Marco informático MapReduce


El framework de computación MapReduce es un modelo de computación distribuida cuyo núcleo es descomponer las tareas en pequeñas tareas, donde diferentes calculadoras participan en el cálculo al mismo tiempo, y los resultados del cálculo de cada calculadora se combinan para obtener el resultado final. El modelo en sí es muy simple, por lo general, solo es necesario implementar dos interfaces, la clave es cómo transformar los problemas reales en tareas de MapReduce.
MapReduce de Hadoop se compone principalmente de las dos partes siguientes:
 

1. El nodo de seguimiento de trabajos (JobTracker)
es responsable de la programación de tareas (se pueden establecer diferentes estrategias de programación) y el seguimiento del estado. Un poco similar al nodo de nombre en HDFS, JobTracker también es un punto único, que puede mejorarse en versiones futuras.
 

2. El nodo de seguimiento de tareas (TaskTracker)
es responsable de la ejecución de tareas específicas. TaskTracker informa a JobTracker de su estado a través de un método de "latido", y JobTracker le asigna tareas en función del estado informado. TaskTracker iniciará una nueva JVM para ejecutar tareas y, por supuesto, las instancias de JVM también se pueden reutilizar.

 

2. Condiciones básicas para la conexión


Hadoop Hive es una tecnología que utiliza datos de clúster de Hadoop mediante la combinación de expresiones SQL tradicionales y operaciones de transformación y análisis de datos avanzados específicos de Hadoop. Tableau usa Hive para trabajar con Hadoop para proporcionar un entorno sin programación. Tableau admite el uso de Hive y el controlador HiveODBC de la fuente de datos para conectarse a los datos almacenados en las distribuciones de Cloudera, Hortonworks, MapR y Amazon EMR (ElasticMapReduce).

2.1 versión de Hive

A continuación se describen los requisitos previos y los recursos externos para la conexión. Para la conexión a Hive Server,
se debe cumplir una de las siguientes condiciones: distribución de Cloudera que contenga Apache Hadoop CDH3u1 o superior, incluido Hive 0.7.1 o superior; Hortonworks; MapR Enterprise Edition (M5); Amazon EMR.

Para la conexión a Hive Server 2, se debe cumplir una de las siguientes condiciones:
distribución de Cloudera que incluye Apache Hadoop CDH4u1; Hortonworks HDP1.2; MapR Enterprise Edition (M5) con Hive 0.9+; Amazon EMR. Además, se debe instalar el controlador ODBC de Hive correcto en cada computadora que ejecute Tableau Desktop o Tableau Server.

2.2 Conductor


Para Hive Server o Hive Server2, el controlador ODBC de Cloudera, Hortonworks, MapR o Amazon EMR debe descargarse e instalarse desde la página "Controlador". Cloudera (Hive): controlador ODBC de Cloudera
para ApacheHive2.5.x; para Tableau Server 8.0.8 o superior, se requiere el controlador 2.5.0.1001 o superior.

Cloudera (Impala): controlador ODBC de Cloudera para Impala Hive 2.5.x; si se conecta al servicio Beeswax en Cloudera Hadoop, debe usar el conector Cloudera ODBC 1.2 adecuado para Tableau Windows.

Hortonworks: Hortonworks Hive ODBC driver 1.2.x.

MapR: MapR_odbc_2.1.0_x86.exe o superior, o MapR_odbc_2.1.0_x64.exe o superior.

Amazon EMR: Hive ODBC.zip o Impala ODBC.zip. Si se ha instalado otra versión del controlador, desinstálelo primero y luego instale la versión correspondiente proporcionada en la página "Controlador".

2.3 Iniciar el servicio Hive

Escriba el siguiente comando utilizando la interfaz de terminal del clúster de Hadoop:

hive—service hiverserver


El comando anterior terminará cuando salga de la sesión de terminal de Hadoop, por lo que es posible que deba ejecutar el servicio Hive en un estado continuo. Para mover el servicio Hive a un segundo plano, debe escribir el siguiente comando:

nohup HIVE_PORT=10000 hive—service hiveserver &


Para un uso a largo plazo, debe configurar un proceso automático para iniciar Hive con el clúster. Derby es el almacén de metadatos predeterminado para Hadoop. Los metadatos de Hive contienen la estructura y ubicación de la tabla de Hive y deben almacenarse en algún lugar para permitir el acceso continuo de lectura / escritura. Hive usa Derby para almacenar información de metadatos de forma predeterminada.

Aunque Derby no puede admitir el uso simultáneo de varias instancias de Hive, para clientes externos como Tableau, el servicio Hive se ejecutará como un único acceso. El servicio Hive admite el acceso simultáneo de varios clientes externos, mientras que solo se ejecuta en una única instancia de la base de datos de metadatos de Derby. Si planea usar Hive para la producción a largo plazo, puede considerar usar un repositorio de metadatos multiusuario, como una base de datos PostgreSQL, que no afectará la forma en que Tableau interactúa con Hive.

 

3. Pasos principales para conectarse


Seleccione el servidor apropiado, Cloudera Hadoop, Hortonworks Hadoop Hive, MapR Hadoop Hive o Amazon EMR en Tableau Desktop, y luego ingrese la información requerida para la conexión.

3.1 Cloudera Hadoop

Haga clic en Cloudera Hadoop en "Conectar" en la página de inicio y luego haga lo siguiente:
 

(1)输入承载数据库服务器的名称和端口号,端口号21050是2.5.x驱动程序的默认端口。
(2)在“类型”下拉列表中选择要连接的数据库类型Hive Server、Hive Server2或Impala。
(3)在“身份验证”下拉列表中选择要使用的身份验证方法。
(4)单击“初始SQL”以指定将在连接时运行一次的SQL命令。
(5)单击“登录”按钮

Si la conexión no se realiza correctamente, verifique que el nombre de usuario y la contraseña sean correctos. Si la conexión aún falla, significa que la computadora ha encontrado un problema para ubicar el servidor y debe comunicarse con el administrador de la red o el administrador de la base de datos para su procesamiento.

 

3.2 Hortonworks Hadoop Hive


Haga clic en Hortonworks Hadoop Hive en "Conectar" en la página de inicio y luego haga lo
siguiente:

(1)输入承载数据库的服务器名称。
(2)在“类型”下拉列表中选择要连接的数据库类型Hive Server或Hive Server2。
(3)在“身份验证”下拉列表中选择要使用的身份验证方法。
(4)单击“初始SQL”以指定将在连接时运行一次的SQL命令。
(5)单击“登录”按钮。


Si la conexión no se realiza correctamente, verifique que el nombre de usuario y la contraseña sean correctos. Si la conexión aún falla, significa que la computadora ha encontrado un problema para ubicar el servidor y debe comunicarse con el administrador de la red o el administrador de la base de datos para su procesamiento.

 

3.3 MapR Hadoop Hive


Haga clic en MapR Hadoop Hive en "Conectar" en la página de inicio y luego haga lo siguiente:

(1)单击“登录”按钮。
(2)输入承载数据库的服务器名称。在“类型”下拉列表中选择要连接的数据库类型,可以选择Hive Server或Hive Server2。

(3)在“身份验证”下拉列表中选择要使用的身份验证方法。
(4)单击“初始SQL”以指定将在连接时运行一次的SQL命令。
(5)单击“登录”按钮。


Si la conexión no se realiza correctamente, verifique que el nombre de usuario y la contraseña sean correctos. Si la conexión aún falla, significa que la computadora ha encontrado un problema para ubicar el servidor y debe comunicarse con el administrador de la red o el administrador de la base de datos para su procesamiento.

4. Consideraciones de conexión


Al conectarse a Hive, Tableau Desktop debe prestar atención a las limitaciones conocidas de los datos de fecha / hora, Hive y Hadoop (en comparación con las bases de datos tradicionales).

4.1 Datos de fecha / hora


Tableau Desktop 9.0 y versiones posteriores admiten marcas de tiempo en Hive, y Tableau puede usarlas de forma nativa. Si almacena los datos de fecha / hora como una cadena en Hive, asegúrese de almacenarlos en el formato ISO (AAAA-MM-DD).

En Tableau Desktop 9.0 y versiones anteriores, Tableau no tiene soporte integrado para el tipo de datos de marca de tiempo, pero estas versiones admiten operaciones con datos de fecha / hora almacenados en cadenas.

Pasos para cambiar el tipo de datos al formato de fecha / hora: cree un extracto de datos, luego haga clic con el botón derecho en el campo en el panel "Datos" y seleccione "Cambiar tipo de datos" → "Fecha" para usar la fecha pura almacenada en la cadena o datos de fecha / hora, o utilice la función DATEPARSE para convertir una cadena en un campo de formato de fecha / hora.

4.2 Limitaciones conocidas


1.
Hive de alta latencia es un sistema orientado a lotes y no puede responder consultas simples con un tiempo de respuesta rápido. Esta limitación hace que sea muy difícil explorar nuevos conjuntos de datos o experimentar campos calculados, pero se pueden utilizar algunas tecnologías SQL-on-Hadoop más nuevas para resolver esta limitación.
 

2. Procesamiento de fecha / hora
Hive proporciona funciones importantes para calcular datos de cadena que pueden representar fecha / hora, y agrega soporte para almacenar fecha / hora como tipo de datos nativo (marca de tiempo).
 

3. Consultar el progreso y cancelar operaciones

La cancelación en Hadoop Hive no es simple, especialmente cuando se trabaja en computadoras que no forman parte del clúster. Hive no puede proporcionar un mecanismo de cancelación. Por lo tanto, la consulta emitida por Tableau solo puede "abandonarse". Después de abandonar la consulta, continúe en Tableau Funciona, pero la consulta seguirá ejecutándose en el clúster y consumirá recursos.

4. Verificación de identidad

Para la conexión del servidor Hive tradicional, el controlador ODBC de Hive no muestra la operación de autenticación, y el modelo de autenticación de Hive y el modelo de seguridad de datos están incompletos, TableauServer proporciona un modelo de seguridad de datos para tales casos, el libro de trabajo de Tableau
creó "filtros de usuario" para indicar cómo para limitar los datos en cada visualización, y TableauServer se asegurará de que estos filtros se implementen en consecuencia para los usuarios que acceden a la visualización interactiva en el navegador.

 

5. Verifique la conexión de prueba

Con los controladores ODBC más recientes de Cloudera, Hortonworks, MapR y Amazon EMR, la utilidad de configuración del controlador se puede utilizar para probar la conexión al clúster de Hadoop Hive.

 

 

Supongo que te gusta

Origin blog.csdn.net/wenyusuran/article/details/114869393
Recomendado
Clasificación