一、实验目的 1. 理解Hive作为数据仓库在Hadoop体系结构中的角色。 2. 熟练使用常用的HiveQL。 二、实验平台 1. 操作系统:Ubuntu18.04(或Ubuntu16.04)。 2. Hadoop版本:3.1.3。 3. Hive版本:3.1.2。 4. JDK版本:1.8。 三、数据集 由《Hive编程指南》(O'Reilly系列,人民邮电出版社)提供,下载地址: https://raw.githubusercontent.com/oreillymedia/programming_hive/master/prog-hive-1st-ed-data.zip 备用下载地址: https://www.cocobolo.top/FileServer/prog-hive-1st-ed-data.zip 解压后可以得到本实验所需的stocks.csv和dividends.csv两个文件。 在大数据处理领域,Hive是一种基于Hadoop的数据仓库工具,它允许用户使用SQL类的语言(称为HiveQL)对大规模数据进行分析和处理。在这个实验中,我们将深入理解Hive的角色以及如何执行基本操作。 Hive在Hadoop生态系统中的角色是作为一个数据仓库接口,它简化了对分布式存储的大数据进行查询和分析的过程。Hive将复杂的MapReduce任务转化为简单的SQL查询,使得非Java背景的分析师也能轻松地处理大数据。 实验平台包括Ubuntu操作系统、Hadoop 3.1.3、Hive 3.1.2和JDK 1.8。这些组件共同构成了一个支持大数据处理的基础架构。 实验主要分为以下几个步骤: 1. 创建内部表`stocks`,它包含了关于股票交易的信息,如交易所、股票代码、交易日期、开盘价、最高价、最低价、收盘价、交易量和调整后的收盘价。内部表的数据存储在HDFS上,由Hive完全管理。 2. 创建一个外部分区表`dividends`,该表用于存储股息信息,包括交易日期、股息金额、交易所和股票代码。分区表的好处在于可以根据分区字段快速定位数据,提高查询效率。 3. 导入数据到`stocks`表,这是通过LOAD DATA命令实现的,将csv文件的数据加载到Hive表中。 4. 创建未分区的外部表`dividends_unpartitioned`,然后从csv文件导入数据。外部表的元数据由Hive管理,但数据本身的位置由用户指定,这使得数据可以独立于Hive存在。 5. 利用Hive的自动分区功能,将`dividends_unpartitioned`表中的数据按特定条件插入到`dividends`的各个分区中,这样可以优化查询性能。 6-10. 这些步骤涉及到各种查询操作,包括: - 查询IBM公司从2000年起的股息支付记录。 - 查询苹果公司2008年10月的涨跌情况。 - 查找收盘价高于开盘价最多的股票记录。 - 查询Apple公司年平均调整后收盘价超过50美元的年份及价格。 - 找出每年年平均调整后收盘价前三的股票代码和价格。 通过这些操作,我们可以熟练掌握HiveQL的基本语法,如CREATE TABLE、LOAD DATA、INSERT INTO、SELECT等,以及如何利用Hive进行数据分区和复杂查询。此外,实验也强调了Hive在大数据分析中的实用性,特别是在处理大量历史交易数据时,能够提供高效的数据查询和分析能力。 实验总结指出,通过实际操作,我们不仅了解了Hive在大数据处理中的核心功能,还掌握了如何利用Hive进行数据导入、查询和分析。这对于理解大数据处理流程,提升数据分析技能,以及在实际工作中应用Hive解决复杂问题具有重要意义。
































- 粉丝: 3w+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- XP-网络故障解决措施全集.doc
- 电气自动化在水利水电工程中的应用分析1.docx
- 时间触发通信:原理与应用
- 基于JSP的教学管理系统大学本科方案设计书.doc
- 基于PLC的物料分拣控制系统的设计.doc
- 实验项目管理-需求书.doc
- 最新高端简约英文版互联网科技金融商务工作计划总结PPT模PPT模板.pptx
- 移动通信技术与计算机网络.docx
- 面翻洪海广告设备有限公司项目管理书.doc
- 电网调度自动化系统的应用.pdf
- 互联网+时代高校线上线下混合式教学模式探究.docx
- 2017级大数据技术与应用专业人才培养方案.doc
- 论网络虚拟财产的民法界定.docx
- 基于 Python 实现自动驾驶的规划与控制代码
- 酒店无线网络覆盖解决方案.docx
- 电子科技16秋《供配电系统监控与自动化》在线作业2-辅导资料.doc


