Tableau和HDFS如何结合使用实现数据可视化与探索?

作者:禅与计算机程序设计艺术

1.简介

1.1 数据可视化

数据可视化是指将数据以图表、柱状图或饼图等形式展现出来,帮助用户更直观地理解数据的变化趋势,从而提高数据的分析效率。数据可视化通常通过各种图表、曲线图、统计图、地图等方式展现数据信息,并辅助文字说明来增强其呈现效果。

1.2 Tableau简介

Tableau是一个用于商业智能、数据可视化、分析、统计和机器学习的开源工具。它可以创建和分享可视化作品、制作互动仪表板、协同工作团队、构建智能模型、自动报告和可伸缩的分析平台。它的跨平台特性和易用性使其成为许多行业的首选工具。

1.3 HDFS简介

HDFS(Hadoop Distributed File System)是一个分布式文件系统,可以对大型文件进行存储、处理和查询。HDFS具有高容错性、高可用性、海量数据存储等优点。HDFS被设计用来处理能够运行 Hadoop MapReduce 的巨大数据集。HDFS 提供了简单的交互接口,允许用户在不了解 Hadoop 的情况下,轻松访问和存储海量数据。

1.4 本文的主要目的

本文将结合Tableau和HDFS解决数据可视化的问题。Tableau提供了可视化能力,可以直观地呈现出海量数据中的相关信息。HDFS作为分布式文件系统,可以存储海量的数据并支持复杂的查询功能。因此,结合使用Tableau和HDFS可以实现数据可视化的功能。本文将首先介绍一下HDFS的基本原理,然后介绍一下如何安装和配置Tableau,最后利用HDFS连接到数据源,并完成数据的可视化。

1.5 阅读建议

阅读本文前,您需要先了解HDFS的基本概念和使用方法,以及Tableau的基本使用方法。由于篇幅限制,以下仅列出一些参考资料,具体内容请阅读原文。

  1. HDFS官网 http://hadoop.apache.org/docs/r1.2.1/hdfs_design.html
  2. HDFS权威指南 http://hadoopbook.cn/zh-cn/introduction.html
  3. Tableau官方文档 https://help.tableau.com/current/pro/desktop/zh-hans/getting_started.htm
  4. Tableau与HDFS结合的最佳实践 http://www.xavierdatascience.com/blog/2017/09/12/best-practices-for-using-tableau-with-hdfs/
  5. 使用Tableau可视化HDFS数据 http://www.cnblogs.com/sparksparrow/p/8111188.html
  6. 深入解析Tableau与HDFS结合的最佳实践 http://www.yunweipai.com/archives/13166.html
  7. HDFS连接Tableau时遇到的坑 https://www.jianshu.com/p/e2b827a7a2ea

2.基本概念及术语说明

2.1 Hadoop Distributed File System (HDFS)

2.1.1 概念

HDFS 是Apache Hadoop框架中重要的组件之一,它提供了一个高度容错性的文件系统,适用于高吞吐量的数据分析。HDFS是一个分布式文件系统,集群中的多个节点通过网络相互通信,提供容错机制。HDFS采用主备模式部署,所有写请求都要先写入本地磁盘,然后复制到其他节点,确保数据的完整性。HDFS提供高容错性的同时,也保证了高吞吐量。当需要访问大量数据时,HDFS的读性能要比传统的中心式文件系统好很多。HDFS采用分块(block)的方式存储数据,每个block默认大小为64MB。HDFS的优势在于:

  • 支持多种数据模型,包括文件、目录、键值对等;
  • 透明的数据复制和数据冗余机制,可保证数据的安全;
  • 提供高度容错性的存储服务;
  • 可扩展的架构,支持海量数据存储;
  • 文件系统客户端兼容POSIX文件系统接口,方便开发者进行应用开发;

2.1.2 特点

HDFS具备以下几个特点:

  • 分布式文件系统: HDFS 的存储单元是 block。block 是 HDFS 中最小的存储单位,block 被分割成多个数据副本,分别存放在不同的服务器上。在集群中不同节点间通过网络进行数据传输,并且每个 block 会被多个节点保存,可以实现容错和高可用性。

  • 高吞吐量: 为了达到高吞吐量,HDFS 提供了快速的读写机制,客户端通过与 NameNode 之间的直接通信,不需要等待SecondaryNameNode,减少客户端与 NameNode 之间的交互,提升整体性能。

  • 自动数据复制和容错机制: 每个数据块会被多个节点保存,可以实现数据自动复制,保证数据安全和容错。如果某个节点宕机,另一个节点会接管这个块,继续提供服务。

    扫描二维码关注公众号,回复: 16966577 查看本文章
  • 原生的 HDFS API 和文件系统接口: 可以方便地与 Java、C++、Python 等语言编写客户端程序,使用熟悉的文件系统接口。

2.2 Apache Hive

2.2.1 概念

Hive 是基于 Hadoop 的数据仓库工具,可以使用 SQL 查询语法来管理 Hadoop 上的大数据。Hive 有助于将结构化的数据映射为一张数据库表格,同时提供 HQL(Hive Query Language,Hive 查询语言),可以通过 HQL 来进行数据抽取、转换和加载(ETL)。Hive 在设计时就考虑到了海量数据的分析需求,同时兼顾 SQL 查询语言的通用性和灵活性,以及 MapReduce 编程模型的计算友好性。Hive 通过 MapReduce 计算引擎将复杂的查询分解为较小的任务,并通过 Hadoop 的高容错性和弹性扩展性,实现海量数据的快速查询。Hive 具有如下特征:

  • 数据抽象层: Hive 允许用户向已有的关系型数据库一样,使用 SQL 命令查询大规模的数据,同时还可以从结构化或半结构化的数据源中导入数据。

  • 查询优化器: Hive 提供查询优化器,自动选择查询计划,减少用户指定查询的时间。

  • 存储器: Hive 将存储数据在 Hadoop 集群上,通过 MapReduce 和 HDFS 来运行查询。Hive 可以通过自带的 HiveServer2 和 Hive Metastore 来管理元数据,元数据描述 Hive 中的表、字段、表空间、数据库等。

  • 执行引擎: Hive 提供两种执行引擎:MapReduce 和 Tez,可以根据查询语句的复杂程度,选择不同的执行引擎。

2.3 Apache Spark

2.3.1 概念

Spark 是由 Databricks、UC Berkeley AMPLab、AMPLab、Apache Foundation 联合开发的开源大数据分析软件,其核心组件 Spark Core、Spark SQL、Spark Streaming、MLlib 和 GraphX 均可以运行在 Hadoop Yarn 上面。Spark 的出现是由于 MapReduce 的局限性和缺陷所带来的新一代的大数据处理技术。Spark 的特点主要有以下几点:

  • 大数据处理能力: Spark Core 提供了基于内存的运算能力,能快速处理大数据集。

  • 迭代计算: Spark Core 对于状态无依赖的迭代算法有非常好的支持。

  • 统一计算模型: Spark Core、SQL、Streaming、GraphX 统一的计算模型,可以实现统一的编程模型,使得开发人员可以快速上手。

  • 动态查询优化: Spark SQL 提供了基于规则的查询优化器,可以自动选择查询计划。

  • MLib: MLib 为常用的机器学习算法提供了丰富的函数库,包括聚类、回归、决策树、朴素贝叶斯、协同过滤、线性模型、推荐系统等。

  • 图计算: GraphX 提供了图论和图形处理的算法,如 PageRank 、Triangle Counting 和 Connected Components。

3.核心算法原理和具体操作步骤

3.1 安装配置

3.1.1 安装配置 Hadoop

下载 Hadoop 1.2.1 发行版,安装过程略。

3.1.2 配置 Hadoop

修改配置文件 core-site.xml,加入以下配置项:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

这里设置 fs.defaultFS 属性值为 hdfs://localhost:9000,表示使用本地主机的 9000 端口作为 HDFS 的默认名称空间。

3.1.3 安装配置 Tableau Desktop

下载 Tableau Desktop 发行版,安装过程略。

3.1.4 配置 Tableau Desktop

打开 Tableau Desktop ,点击菜单栏的 “File” -> “Connect to Data Source...”,进入连接数据页面。在左侧的 “Choose a data source type”,选择 “Text File”。然后输入文本文件的路径。此处假设文本文件名为 /user/hive/warehouse/mydatabase.db/tablename,则连接方式如下图: 其中:

  • /user/hive/warehouse/mydatabase.db/tablename 表示 HDFS 文件系统中的实际位置;
  • Text File 表示该文件为文本文件,后面的属性可以根据实际情况配置;
  • Enter Directory 表示该文件不是目录;
  • 下一步可以省略,点击连接即可。

3.2 创建可视化项目

3.2.1 使用Tableau Desktop

打开 Tableau Desktop,新建一个空白项目。点击菜单栏的 “Insert” -> “Analytics Tools” -> “Field Mapping”,出现如下页面: 其中:

  • Connection Details 填写连接到HDFS的相关信息,见第3节安装配置表明;
  • Fields to include 从HDFS文件读取哪些字段,例如“*”代表所有字段;
  • Selected fields 添加需要展示的字段,包括列、行、聚合、过滤等。

创建完毕后,点击顶部导航栏的 “Sheets”,查看可视化结果,如下图:

3.2.2 使用Tableau Server

(1)配置 Tableau Server 服务端

下载 Tableau Server 10.2 发行包,解压后安装过程略。配置 tableau_server.ini 文件,添加以下配置项:

[vizqlserver]
host = localhost
port = 8060
# enable SSL support for HTTPS connections using self signed certificates, change this to false in production environments
ssl_enabled = true
# the path of the keystore file containing trusted certificates used by SSL server sockets
keystore_path = ""
# the password of the keystore file
keystore_password = ""

[authentication]
mode = auth-and-writes # specify which authentication modes are enabled and allowed
provider_type = ldap # use LDAP as the default provider
ldap_url = ldaps://localhost # configure an LDAP server URL here if needed
# set either of these two options to turn on Active Directory or Microsoft Active Directory integration
active_directory_domain_name = example.local
# active_directory_security_group_filter = (&(objectClass=group)(member=%u)) # optional filter applied to group lookup

启动 Tableau Server 服务端:

./tabadmin start
(2)配置 Tableau Desktop 客户端

打开 Tableau Desktop,创建新的空白项目。点击菜单栏的 “File” -> “Connect to Server”,连接到已经启动的 Tableau Server 服务地址。在左侧的 “Choose a Server” 选择第一个服务器节点,如果有多个,可以选择任意一个。输入用户名密码,登录成功。点击 “Connect”。 之后按照 3.2.1 中的步骤,配置连接参数,并创建可视化项目。

猜你喜欢

转载自blog.csdn.net/universsky2015/article/details/133446665