Hive数据仓库工具详解:Facebook开源的大数据统计解决方案

需积分: 12 3 下载量 32 浏览量 更新于2024-07-15 收藏 2.44MB DOCX 举报
"大数据技术学习笔记之Hive" 在大数据领域,Hive是一个至关重要的工具,主要用作数据仓库系统,允许用户使用类SQL查询语言(HQL)来处理存储在Hadoop分布式文件系统(HDFS)上的大规模结构化数据。这篇学习笔记详细介绍了Hive的基本概念、本质、优缺点以及架构原理。 1. **Hive基本概念** - Hive是由Facebook开源的,最初设计的目标是解决海量结构化日志的数据统计问题。它提供了将结构化的数据文件映射为数据库表的功能,并且支持类似SQL的查询语言,使得非MapReduce背景的开发人员也能方便地操作大数据。 - Hive的核心特性是将HQL(Hive Query Language)转化为MapReduce任务进行运算。这意味着Hive的数据存储在HDFS中,而计算任务通过YARN在集群上执行。 2. **Hive的优缺点** - **优点**: - 用户接口友好:HQL类似于SQL,易于学习和使用,降低了开发复杂性。 - 降低学习成本:避免了编写MapReduce程序,节省了开发时间和精力。 - 适合大数据处理:Hive适用于离线数据分析,对实时性要求不高的场景。 - 自定义函数支持:用户可以根据需求编写自己的UDF(User Defined Function)扩展其功能。 - **缺点**: - HQL功能受限:不能表达迭代式算法,数据挖掘功能相对较弱。 - 效率较低:自动生成的MapReduce作业效率不高,优化难度大。 3. **Hive架构原理** - **用户接口**:包括命令行接口(CLI)、JDBC/ODBC接口(允许通过数据库连接访问Hive)和Web界面(WEBUI),提供多种方式与Hive交互。 - **元数据**:存储关于表的详细信息,如表名、所属数据库、所有者、列信息、分区字段、表类型和数据存储位置。推荐使用MySQL作为元数据存储以提高性能和稳定性。 - **Hadoop组件**:Hive依赖HDFS进行数据存储,依赖MapReduce进行计算任务的执行。 - **驱动器**:包括解析器、编译器和执行器等组件,负责将用户的SQL请求转化为可执行的计划。解析器将SQL转化为抽象语法树,编译器则将树转化为物理执行计划。 4. **其他关键点** - **执行流程**:解析器解析SQL,编译器生成逻辑执行计划,优化器进一步优化这个计划,然后转化为物理执行计划,最后由执行器调度任务到MapReduce进行实际计算。 Hive作为一个大数据处理工具,虽然存在一些局限性,但在数据仓库和离线分析场景下,它提供了便捷的数据查询和管理能力,降低了大数据分析的门槛,是大数据生态系统中的重要一环。

结合下面hive元数据信息,生成hive建表语句,并且加上comment,注意day是分区 dwd_weibo_crawl NULL appmarket_appinfo GN线应用市场 2021-01-07 15:07:29 apk 应用包名 string day string入库日期 org.apache.hadoop.hive.ql.io.orc.OrcSerde serialization.format 1 hdfs://DSbigdata/hiveDW/dwd_exten_crawl/appmarket_appinfo org.apache.hadoop.hive.ql.io.orc.OrcInputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat dwd_weibo_crawl NULL appmarket_appinfo GN线应用市场 2021-01-07 15:07:29 app_name 应用名称 string day string 入库日期 org.apache.hadoop.hive.ql.io.orc.OrcSerde serialization.format 1 hdfs://DSbigdata/hiveDW/dwd_exten_crawl/appmarket_appinfo org.apache.hadoop.hive.ql.io.orc.OrcInputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat dwd_weibo_crawl NULL appmarket_appinfo GN线应用市场 2021-01-07 15:07:29 app_url 平台详情页链接 string day string入库日期 org.apache.hadoop.hive.ql.io.orc.OrcSerde serialization.format 1 hdfs://DSbigdata/hiveDW/dwd_exten_crawl/appmarket_appinfo org.apache.hadoop.hive.ql.io.orc.OrcInputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat dwd_weibo_crawl NULL appmarket_appinfo GN线应用市场 2021-01-07 15:07:29 cate 应用所属分类 string day string入库日期 org.apache.hadoop.hive.ql.io.orc.OrcSerde serialization.format 1 hdfs://DSbigdata/hiveDW/dwd_exten_crawl/appmarket_appinfo org.apache.hadoop.hive.ql.io.orc.OrcInputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat dwd_weibo_crawl NULL appmarket_appinfo GN线应用市场 2021-01-07 15:07:29 other 其他 string day string 入库日期 org.apache.hadoop.hive.ql.io.orc.OrcSerde serialization.format 1 hdfs://DSbigdata/hiveDW/dwd_exten_crawl/appmarket_appinfo org.apache.hadoop.hive.ql.io.orc.OrcInputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat dwd_weibo_crawl NULL appmarket_appinfo GN线应用市场 2021-01-07 15:07:29 region 平台名称 string day stri

2023-06-10 上传