hadoop学习(一)---hadoop简介

Hadoop 简介

前言:

  • 人产生数据的速度越来越快,机器则更加快,more data usually beats better algorithms,所以需要另外的一种处理数据的方法。
  • 硬盘的容量增加了,但性能没有跟上,解决办法是把数据分到多块硬盘,然后同时读取。但带来一些问题:

硬件问题:复制数据解决(RAID)
分析需要从不同的硬盘读取数据:MapReduce

而Hadoop提供了
1.可靠的共享存储(分布式存储)
2.抽象的分析接口(分布式分析)

大数据

概念

不能使用一台机器进行处理的数据
大数据的核心是样本=总体

特性

- 大量性(volume): 一般在大数据里,单个文件的级别至少为几十,几百GB以上
- 快速性(velocity): 反映在数据的快速产生及数据变更的频率上
- 多样性(variety): 泛指数据类型及其来源的多样化,进一步可以把数据结构归纳为结构化(structured),半结构化(semi-structured),和非结构化(unstructured)
- 易变性: 伴随数据快速性的特征,数据流还呈现一种波动的特征。不稳定的数据流会随着日,季节,特定事件的触发出现周期性峰值
- 准确性: 又称为数据保证(data assurance)。不同方式,渠道收集到的数据在质量上会有很大差异。数据分析和输出结果的错误程度和可信度在很大程度上取决于收集到的数据质量的高低

关键技术
1.数据分布在多台机器
- 可靠性:每个数据块都复制到多个节点
- 性能:多个节点同时处理数据
2.计算随数据走
网络IO速度 << 本地磁盘IO速度,大数据系统会尽量地将任务分配到离数据最近的机器上运行(程序运行时,将程序及其依赖包都复制到数据所在的机器运行)

代码向数据迁移,避免大规模数据时,造成大量数据迁移的情况,尽量让一段数据的计算发生在同一台机器上

3.串行IO取代随机IO

传输时间 << 寻道时间,一般数据写入后不再修改

简介:

Hadoop可运行于一般的商用服务器上,具有高容错、高可靠性、高扩展性等特点
特别适合写一次,读多次的场景

适合
1. 大规模数据
2. 流式数据(写一次,读多次)
3. 商用硬件(一般硬件)

不适合
1. 低延时的数据访问
2. 大量的小文件
3. 频繁修改文件(基本就是写1次)

Hadoop架构
这里写图片描述

  • HDFS: 分布式文件存储
  • YARN: 分布式资源管理
  • MapReduce: 分布式计算
  • Others: 利用YARN的资源管理功能实现其他的数据处理方式

内部各个节点基本都是采用Master-Woker架构(分而治之)

Hadoop
主要记录了Hadoop各个组件的基本原理,处理过程和关键的知识点等,包括HDFS、YARN、MapReduce等。
铺垫
人产生数据的速度越来越快,机器则更加快,more data usually beats better algorithms,所以需要另外的一种处理数据的方法。
硬盘的容量增加了,但性能没有跟上,解决办法是把数据分到多块硬盘,然后同时读取。但带来一些问题:
硬件问题:复制数据解决(RAID)

分析需要从不同的硬盘读取数据:MapReduce

而Hadoop提供了

1.可靠的共享存储(分布式存储) 2.抽象的分析接口(分布式分析)

大数据
概念
不能使用一台机器进行处理的数据

大数据的核心是样本=总体

特性
大量性(volume): 一般在大数据里,单个文件的级别至少为几十,几百GB以上
快速性(velocity): 反映在数据的快速产生及数据变更的频率上
多样性(variety): 泛指数据类型及其来源的多样化,进一步可以把数据结构归纳为结构化(structured),半结构化(semi-structured),和非结构化(unstructured)
易变性: 伴随数据快速性的特征,数据流还呈现一种波动的特征。不稳定的数据流会随着日,季节,特定事件的触发出现周期性峰值
准确性: 又称为数据保证(data assurance)。不同方式,渠道收集到的数据在质量上会有很大差异。数据分析和输出结果的错误程度和可信度在很大程度上取决于收集到的数据质量的高低
复杂性: 体现在数据的管理和操作上。如何抽取,转换,加载,连接,关联以把握数据内蕴的有用信息已经变得越来越有挑战性
关键技术
1.数据分布在多台机器

可靠性:每个数据块都复制到多个节点

性能:多个节点同时处理数据

2.计算随数据走

网络IO速度 << 本地磁盘IO速度,大数据系统会尽量地将任务分配到离数据最近的机器上运行(程序运行时,将程序及其依赖包都复制到数据所在的机器运行)

代码向数据迁移,避免大规模数据时,造成大量数据迁移的情况,尽量让一段数据的计算发生在同一台机器上

3.串行IO取代随机IO

传输时间 << 寻道时间,一般数据写入后不再修改

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: amples-2.7.1.jar wordcount /input /output 这是一个Hadoop命令,用于运行一个名为wordcount的MapReduce作业。hadoop-mapreduce-examples-2.7.1.jar是Hadoop MapReduce示例程序的JAR文件,包含了许多常见的MapReduce作业示例。/input是输入数据的路径,/output是输出结果的路径。 ### 回答2: hadoop jar hadoop-mapreduce-ex是一个Hadoop MapReduce应用程序,它是Hadoop的一个组件,用于处理大规模数据集。Hadoop MapReduce是一个开源的计算框架,通过分布式计算处理海量数据,具有高可靠性、高扩展性和高效性等特点。 hadoop-mapreduce-ex是一个扩展程序包,它提供了更多的MapReduce应用程序。该程序包包括了很多实用的工具和例子,可以帮助用户更快地实现MapReduce任务,提高了处理大数据的效率和质量。 在使用hadoop jar hadoop-mapreduce-ex时,需要使用hadoop jar命令。此命令的作用是将MapReduce程序打包成一个JAR文件,并提交给Hadoop集群进行处理。具体来说,hadoop jar命令有以下功能: 1. 提交MapReduce任务:使用该命令可以将作业提交到Hadoop集群中,启动MapReduce任务; 2. 配置MapReduce作业:通过命令行参数可以配置MapReduce作业的参数; 3. 监控MapReduce作业:通过该命令可以查看MapReduce作业的状态和进度; 4. 执行本地MapReduce任务:通过该命令可以在本地测试MapReduce程序的正确性和性能。 总之,hadoop jar hadoop-mapreduce-ex是一个非常有用的工具,它帮助用户更好地利用Hadoop MapReduce框架,处理并分析大数据集,提高业务效率和质量。 ### 回答3: Hadoop Jar Hadoop-MapReduce-Ex是Hadoop中的一个MapReduce拓展工具包,可以帮助用户更加方便地进行分布式计算任务。 Hadoop是一个开源的、由Apache开发的分布式计算框架,其最大的特点是能够在大规模的集群中高效地处理海量数据。而MapReduce作为Hadoop中的计算模式,可以将大数据集分解成独立小块,进行并行处理。 在Hadoop Jar Hadoop-MapReduce-Ex中,包含了许多有用的工具包和API,包括: 1. MapReduce算法库:提供了常见的MapReduce算法实现,例如排序、过滤、连接等,用户可以通过简单的配置和调用API方便地进行分布式计算任务。 2. 自定义InputFormat和OutputFormat:这个工具包提供了自定义输入和输出格式的API,用户可以将原始数据转换为Hadoop可处理的格式,或者将MapReduce结果转换为用户需要的格式。 3. MapReduce作业执行框架:这个框架提供了对MapReduce作业进行管理和监控的功能,用户可以方便地查看作业执行情况、调整作业配置等。 4. 分布式缓存:这个工具包提供了分布式缓存的API,可以将需要共享的数据存入缓存中,便于后续作业的调用和共享。 综上,Hadoop Jar Hadoop-MapReduce-Ex是一个非常有用的工具包,可以帮助用户快速实现分布式计算任务,提高计算效率和数据处理能力。但需要注意的是,使用该工具包需要有一定的编程经验和Hadoop的相关知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值