IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Hadoop编程——第一章:大数据概念 -> 正文阅读

[大数据]Hadoop编程——第一章:大数据概念

什么是大数据?
Hadoop生态系统工具
分布式与集群

一、大数据简介

指“无法由现有软件工具提取,存储,搜索,共享,分析和处理的庞大而复杂的数据集”。

(一)大数据的特征

行业通常使用五个V总结大数据的特征如下:
Volume(数据体量大)

  • 采集数据量大
  • 存储数据量大
  • 计算数据量大
  • TB、PB级别起步

Variety(种类、来源多样化)

  • 种类:结构化、半结构化、非结构化
  • 来源:日志文本、图片、音频、视频等

Value(低价值密度)

  • 信息海量但是价值密度低
  • 深度复杂的挖掘分析需要机器学习参与

Velocity(速度快)

  • 数据增长速度快
  • 获取数据速度快
  • 数据处理速度快

Veracity(数据的质量)

  • 数据的准确性
  • 数据的可信赖度

二、Hadoop生态系统工具

(一)Hadoop

  • Hadoop是由Apache Foundation开发的分布式系统基础结构。 Doug Cutting受到Google
    Lab开发的Map/Reduce和Google File System(GFS)的启发。

  • Hadoop的核心体系结构是MapReduce编程模型和HDFS分布式文件系 统。

  • MapReduce框架可以将应用程序分解为许多并行计算指令,从而在大量计算节点上运行非常大的数据集

  • 使用“分而治之”的思想,Map用于分割大数据,Reduce用于合并Map计算的结果。

  • HDFS(Hadoop Distributed File System)分布式文件系统为海量数据和大文件提供存储服务。

  • 将大文件(大于64M/128M)拆分为块(每个块64M或者128M),多节点存放。

  • 具有高吞吐量、高容错性

(二)HBASE

  • HBASE是apache的开源KV(Key-Value)数据库。它基于HDFS,为数据库系统提供了高可靠性,高性能,列存储,可伸缩性和实时读写功能。 它介于NoSQL和RDBMS之间。
  • 只能通过行键和行键范围检索数据。 它仅支持单行事务(可通过配置单元支持来实现多表联接和其他复杂操作)。它主要用于存储非结构化和半结构化的松散数据。
  • 与Hadoop一样,Hbase目标主要依靠水平扩展来通过增加廉价的商用服务器的数量来增加计算和存储容量。

Hbase中表的特征

  • : 一个表可以有上亿行,上百万列

  • 面向列: 面向列(族)的存储和权限控制,列(族)独立检索

  • 稀疏: 对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏

(三)HIVE

Apache Hive数据仓库软件提供对存储在分布式中的大型数据集的查询和管理,它本身是建立在Apache Hadoop之上,主要提供以下功能:

  • 它提供了一系列的工具,可用来对数据进行提取/转化/加载(ETL)

  • HIVE可以存储、查询和分析存储在HDFS(或者HBase)中的大规模数据的机制;

  • 通过将SQL转化为MapReduce作业在Hadoop上运行,进行海量数据的统计分析处理

  • Hive定义了一种类似SQL的查询语言,被称为HQL,对于熟悉SQL的用户可以直接利用Hive来查询数据。

  • 这个语言也允许熟悉 MapReduce
    开发者们开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作

  • Hive可以允许用户编写自己定义的函数UDF。

Hive的缺点:

  • Hive目前还不支持事务;

  • 不能对表数据进行修改(不能更新、删除、插入;只能通过文件追加数据、重新导入数据)

  • 查询速度比较慢

(四)STORM

Apache Storm是一个免费和开源的分布式实时计算系统,它简化了流数据的可靠处理。
Storm具有许多应用场景,包括实时数据分析,在线学习,连续计算,分布式RPC,ETL等。
Storm速度非常快,并且测试在单个节点上每秒执行一百万个组处理。

特征

  • 易于扩展
  • 可以保证每条信息的处理.
  • 集群管理很简单。
  • 容错功能
  • 低延迟.

(五)ZooKeeper

  • Zookeeper是一种高性能,分布式,开源的分布式应用程序协调服务。 它是Storm和Hbase的重要组成部分。
  • 它是一种提供分布式应用程序的软件,可以基于该应用程序实施更高级的服务,例如同步,配置管理,群集管理和名称空间。
  • 使用文件系统目录树作为数据模型,它易于编程。 该服务器在Java上运行,提供Java和C的客户端API。
  • Zookeeper服务本身形成一个集群(2n + 1个服务允许n个故障),并且它具有两个角色。
  • 一个是领导者,负责编写服务和数据同步。
  • 另一个是跟随者,它提供阅读服务。 当领导者失败时,它将重新选举跟随者中的新领导者。

特征

  • 顺序一致性
  • 原子性
  • 均匀度
  • 可靠性
  • 及时性

使用场景

  • 数据发布与订阅
  • 名称空间服务
  • 分布式通知/协调
  • 集群管理

(六)Sqoop

  • Sqoop是Apache的顶级项目,它允许用户将关系数据库中的数据提取到Hadoop中以进行进一步处理
  • 获得分析结果后,Sqoop还可以将分析结果导入回数据库,以供其他客户端使用。
  • 导入过程运行一个MapReduce作业,该作业连接到MySQL数据库并从表中读取数据。默认情况下,该作业运行四个Map任务以加快导入过程。
  • 每个任务将其导入的数据写入一个单独的文件,但是所有四个文件都在同一目录中。

三、分布式与集群

分布式、集群是两个不同的概念,但口语中经常混淆二者。

(一)分布式

多台机器,每台机器上部署不同组件

(二)集群

多台机器,每台机器上部署不同组件

(三)分布式、集群的共同点

都是多台机器(服务器)组成的;
因此口语中混淆两者概念的时候都是∶相对于单机来说的。

(四)数据大爆炸,海量数据处理场景面临问题

1、如何存储?
单机存储有瓶颈
多台机器分布式存储

2、如何计算?
单机计算能力有限
多台机器分布式计算

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:08:56  更:2022-06-29 19:09:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 20:33:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码