序言
1.内容介绍
本章介绍了Hadoop的综合概述、连接Hadoop集群的基本条件以及具体连接的实现步骤。
2.理论目标
- 了解Hadoop分布式文件系统
- 了解MapReduce计算框架
- 掌握Apache Hadoop常用的发行版本
- 掌握连接Hadoop的前提条件
3.实践目标
- 掌握连接Hadoop集群的操作
4.实践案例
- 连接Hadoop集群实战操作
5.内容目录
- 1.Hadoop简介
- 2.连接基本条件
- 3.连接主要步骤
- 4.连接性能优化
第1节 Hadoop简介
1. Hadoop分布式文件系统
Hadoop分布式文件系统是一种文件系统实现,类似于NTFS、EXT3、EXT4等。
- 名称节点(Name Node)
- 第二名称节点(Secondary Name Node)
- 数据节点(Data Node)
2. MapReduce计算框架
MapReduce计算框架是一种分布式计算模型,核心是将任务分解成小任务,由不同计算者同时参与计算,并将各个计算者的计算结果合并,得出最终结果。
3. Apache Hadoop发行版本
- Hadoop在大数据领域的应用前景很大,不过因为是开源技术,实际应用过程中存在很多问题。于是出现了各种Hadoop发行版,国外目前主要是两家公司在做这项业务:Cloudera和MapR。
- 1.Cloudera Hadoop
- 2.MapR Hadoop
第2节 连接基本条件
1. 连接前提条件
- 下面介绍连接的先决条件,对于到Hive Server的连接,必须具备以下条件之一:
- Hadoop集群包含Apache Hadoop CDH3u1或更高版本的Cloudera分布,其中包括Hive 0.7.1或更高版本;Hortonworks;MapR Enterprise Edition(M5);Amazon EMR。
- 对于到Hive Server 2的连接,必须具备以下条件之一:
- Hadoop集群包括Apache Hadoop CDH4u1的Cloudera分布;Hortonworks HDP1.2;带有Hive 0.9+的MapR Enterprise Edition(M5);Amazon EMR。
- 此外,还必须在每台运行Tableau Desktop或Tableau Server的计算机上安装正确的Hive ODBC驱动程序。
2. 安装驱动程序
对于Hive Server或Hive Server2,必须从“驱动程序”页面下载与安装Cloudera、Hortonworks、MapR或Amazon EMR ODBC驱动程序。
- 下载的驱动名称为:ClouderaHiveODBC64.msi
- 安装该驱动程序,不需要重启系统
3. 启动Hive服务
- 在集群中,对所有hive原数据和分区的访问都要通过Hive Metastore,启动远程metastore后,hive客户端连接metastore服务,从而可以从数据库查询到原数据信息,metastore服务端和客户端通信是通过thrift协议。
- 在Hadoop群集的终端界面中键入以下命令:
- hive --service metastore
- 将Hive服务移到后台,需要键入以下命令:
- nohup hive --service metastore > metastore.log 2>&1 &
- Tableau连接Hadoop集群需要启动HiveServer2,在终端界面中键入以下命令:
- hive --service hiveserver2 &
第3节 连接主要步骤
注意:以下操作为连接Cloudera Hadoop大数据集群
1. 下载驱动
- 在连接Cloudera Hadoop大数据集群前,需要确保已经安装了最新的驱动程序。按照以下的步骤,安装对应的驱动程序,首先到Cloudera的官方网站下载对应的驱动,然后选择Hive ODBC的下载连接。
2. 安装驱动并测试驱动
- 驱动程序安装完毕后,需要检查一下是否可以正常连接Cloudera Hive的集群,前提是连接前需要正常启动Hadoop集群。打开电脑管理工具下的ODBC数据源,然后配置“Sample Cloudera Hive DSN”,配置完毕后,单击下方的“Test”按钮,如果测试结果显示“SUCCESS!”,说明可以正常连接Hadoop集群。
3. 连接Cloudera Hadoop
- 在开始页面的“连接”下面,单击“Cloudera Hadoop”选项,然后执行以下操作:
- 在界面中输入服务器的IP地址,服务器登录信息,包括类型、身份验证、传输类型、用户名和密码等。
- 然后单击“登录”按钮,如果出现如图所示界面,说明连接成功,否则检查前面的参数设置是否有错误。
- 在下拉框中选择数据库,与关系型数据库中的具体数据库名称类似,选择合适的架构查找方式,有精确、包含、开头为三种,这里我们使用精确方式,在“选择架构”文本框中,输入“default”后,单击“搜索”按钮 ,在正下方会出现default。
- 然后输入需要进行可视化分析的表名称,例如输入“user”表,再单击“搜索”按钮。
- 将左侧的“userinfo(default.userinfo)”拖放到画布区域,然后单击“立即更新”或“自动更新”按钮。
第4节 连接性能优化
1. 自定义SQL语句
- 定义SQL允许使用复杂SQL表达式作为Tableau中连接的基础。通过在自定义SQL中使用LIMIT子句,可以减小数据集以加快浏览新数据集和建立视图的速度。稍后可以移除此LIMIT子句以支持对整个数据集进行实时查询。可以轻松使用自定义SQL限制数据集大小。如果连接的是单表或多表,就可以将其切换到自定义SQL连接,并让连接对话框自动填充自定义SQL表达式,例如在自定义SQL的最后一行中添加“LIMIT 1000”,以便仅使用前1000条记录。
2. 设置“数据提取”
- 在处理大量数据时,Tableau数据引擎是功能强大的加速器,支持以低延迟进行临时分析。尽管Tableau数据引擎不是针对Hadoop所具有的相同标度构建的,不过它能够处理多个字段和数亿行广泛数据集。
- 通过在Tableau中创建数据提取,能够通过将海量数据压缩为小很多的数据集加快数据分析速度。在创建数据提取时,我们需要在“数据提取”对话框中聚合可视维度的数据、添加筛选器、隐藏所有未使用的字段。
开始实验