加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Hadoop 生态之 MapReduce 及 Hive 简介

发布时间:2019-11-04 21:07:39 所属栏目:建站 来源:李一帆
导读:副标题#e# 1.计算框架 Hadoop 是一个计算框架,目前大型数据计算框架常用的大致有五种: 仅批处理框架:Apache hadoop. 仅流处理框架:Apache Storm、Apache Samza. 混合框架:Apache Spark、Apache Flink. 这其中名气最大、使用最广的当属 Hadoop 和 Spark

这么说可能有点抽象,分解一下:

  • 主题:数据仓库针对某个主题来进行组织,指使用数据仓库决策时所关心的重点方面。比如订阅分析就可以当做一个主题。
  • 集成:数据仓库要将多个数据源数据存到一起,但数据以前的存储方式不同,要经过抽取、清洗、转换。(也就是 ETL)
  • 稳定:保存的数据是一系列历史快照,不允许修改,只能分析。
  • 时变:会定期接收到新的数据,反应出新的数据变化。

现在再看下定义:数据仓库是将多个数据源的数据按照一定的主题集成,进行抽取、清洗、转换。且处理整合后的数据不允许随意修改,只能分析,还需定期更新。

3.2 为什么是 Hive

了解了 Hive 的基础定义,想一下:一个依赖于 HDFS 的数据仓库在 Hadoop 环境中可以扮演什么角色?

前面说到,可不可以让 SQL 直接运行在 Hadoop 平台,这里的答案便是 Hive。它可以将 Hive SQL 转换为 MapReduce 程序运行。

Hive 初期版本默认 Hive on Mapreduce

启动 hive 前通常要先启动 hdfs 和 yarn, 同时一般需要配置 MySQL,Hive 依赖于 HDFS 的数据存储,但为了能操作 HDFS 上的数据集,要知道数据切分格式、存储类型、地址等。这些信息通过一张表存储,称为元数据,可以存储到 MySQL 中。

  • 现在来看下 Hive 的部分命令
  • 新建数据库:create database xxx;
  • 删除数据库:drop database xxx;
  • 建表:
  • create table table_name(col_name data_type);
  • Hive 的表有两个概念:**内部表和外部表**。默认内部表,简单来说,内部表数据存储在每个表相应的HDFS目录下。外部表的数据存在别处,要删除这个外部表,该外部表所指向的数据是不会被删除的,只会删除外部表对应的元数据。
  • 查询:
  • select * from t_table **where** a<100 **and** b>1000;
  • 连接查询:
  • select a.*,b.* from t_a a join t_b b on a.name=b.name;

看到这里,可能会觉得我在写 SQL, 没错,对于熟悉 SQL 的人来说,Hive 是非常易于上手的。

3.3 HIVE SQL To MapReduce

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读