首页 > 其他分享 >第四周 博客总结

第四周 博客总结

时间:2023-09-02 19:36:23浏览次数:30  
标签:总结 文件 存储 HDFS 主机 MapReduce 博客 四周 数据

 在这一周里我学习了大数据的基本概念,也了解了大数据主要学习哪些知识,以及在学习大数据的相关内容之后可以从事哪些行业,在大数据中包含了哪几个重要的框架等等。

接下来我就阐述一下大数据的一些特点:

一:

hdoop核心:
HDFS和MapReduce(而两者只是理论基础,不是具体可使用的高级应用)

*HDFS

[the hoodp distributed file system]( hoodp分布式文件系统)

它是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,适合那些有着超大数据集(large data set)的应用程序;

*HDFS的设计特点是:
1、大数据文件,非常适合上T级别的大文件或者一堆大数据文件的存储,如果文件只有几个G甚至更小就没啥意思了。
2、文件分块存储,HDFS会将一个完整的大文件平均分块存储到不同计算器上,它的意义在于读取文件时可以同时从多个主机取不同区块的文件,多主机读取比单主机读取效率要高得多得都。
3、流式数据访问,一次写入多次读写,这种模式跟传统文件不同,它不支持动态改变文件内容,而是要求让文件一次写入就不做变化,要变化也只能在文件末添加内容。
4、廉价硬件,HDFS可以应用在普通PC机上,这种机制能够让给一些公司用几十台廉价的计算机就可以撑起一个大数据集群。
5、硬件故障,HDFS认为所有计算机都可能会出问题,为了防止某个主机失效读取不到该主机的块文件,它将同一个文件块副本分配到其它某几个主机上,如果其中一台主机失效,可以迅速找另一块副本取文件。
HDFS的关键元素:
*Block:将一个文件进行分块,通常是64M。
NameNode:保存整个文件系统的目录信息、文件信息及分块信息,这是由唯一一台主机专门保存,当然这台主机如果出错,NameNode就失效了。在Hadoop2.*开始支持 activity-standy模式----如果主NameNode失效,启动备用主机运行NameNode。
DataNode:分布在廉价的计算机上,用于存储Block块文件。

二:

*Mapreduce(MapReduce是一种编程模型)

Map:把任务分解为多个任务

Reduce:把分解后的多任务处理的结果汇总起来;


通俗说MapReduce是一套从海量源数据提取分析元素最后返回结果集的编程模型,将文件分布式存储到硬盘是第一步,而从海量数据中提取分析我们需要的内容就是 MapReduce做的事了。

下面以一个计算海量数据最大值为例:一个银行有上亿储户,银行希望找到存储金额最高的金额是多少,按照传统的计算方式,我们会这样:

Java代码
Long moneys[] ...
Long max = 0L;
for(int i=0;i<moneys.length;i++){
if(moneys[i]>max){
max = moneys[i];
}
}
如果计算的数组长度少的话,这样实现是不会有问题的,还是面对海量数据的时候就会有问题。

MapReduce会这样做:首先数字是分布存储在不同块中的,以某几个块为一个Map,计算出Map中最大的值,然后将每个Map中的最大值做Reduce操作,Reduce再取最大值给用户。

MapReduce的基本原理就是:将大的数据分析分成小块逐个分析,最后再将提取出来的数据汇总分析,最终获得我们想要的内容。当然怎么分块分析,怎么做Reduce操作非常复杂,Hadoop已经提供了数据分析的实现,我们只需要编写简单的需求命令即可达成我们想要的数据。

*总结

总的来说Hadoop适合应用于大数据存储和大数据分析的应用,适合于服务器几千台到几万台的集群运行,支持PB级的存储容量。

Hadoop典型应用有:搜索、日志处理、推荐系统、数据分析、视频图像分析、数据保存等。

但要知道,Hadoop的使用范围远小于SQL或Python之类的脚本语言,所以不要盲目使用Hadoop

 

标签:总结,文件,存储,HDFS,主机,MapReduce,博客,四周,数据
From: https://www.cnblogs.com/jizhaosai/p/17674104.html

相关文章

  • 使用OneDrive在博客中添加自己的音频
    原文链接:OneDrive的妙用图/音频/视频床-wuuconix'sblog  ......
  • 总结liunx的菜鸟之路1
    首先要认识到,Linux重要的四句话1.Linux里一切都是文件2.配置服务就是修改这个服务的配置文件3.配置参数立即生效,需要重启对应的服务4.顺手加到启动项当中,保证考试工作中生效, Systemctlenabl在Linux里安装软件关于RPMPM是红帽软件包管理器,rpm-ivhfilename.rpm 安装软件rpm-......
  • Seatunnel实践及相关报错总结
    写在前面:本人也属于小白,这篇文章只是个人使用和总结,可能有些地方理解片面或者有误,各位大神看到的话,可以留言指正,一定认真学习。同时发出来也只是想自己能做个笔记,便于后期整理。如果能帮刚使用seatunnel的朋友避一些坑,那就最好不过了。1、语法模块(官方文档摘抄)1.1source和sink源......
  • 8.28-9.3学习总结博客八:数据工程与系统部署
    博客题目:学习总结八:数据工程与系统部署实践内容概要:了解数据工程的基本概念和核心技术,学习如何将学到的技能应用于实际项目中,并了解数据处理系统的设计和部署。学习资源:推荐的数据工程、系统部署和项目实践的教程、实践资源和学习资料。实践内容:通过针对实际项目的数据处理和系统......
  • CompletableFuture总结和实践
    CompletableFuture被设计在Java中进行异步编程。异步编程意味着在主线程之外创建一个独立的线程,与主线程分隔开,并在上面运行一个非阻塞的任务,然后通知主线程进展,成功或者失败。一、概述1.CompletableFuture和Future的区别?CompletableFuture和Future出现的原因是继承Thread或者实现R......
  • Django系统报错总结 1
    Django系统报错总结1 本章节,继续总结前面商品系统编写中遇到的报错问题TypeError:Product()gotunexpectedkeywordarguments:'update_time','seller'因为在Product类中没有定义参数update_time和seller。要解决这个问题,你需要确保在Product类中添加这些参数的定义。......
  • Oracle - 运维相关总结
    读写分离读写分离的重点其实就是数据同步,能实现数据实时同步的技术很多。基于日志的Oracle复制技术,Oracle自身组件可以实现,同时也有成熟的商业软件。选商业的独立产品还是Oracle自身的组件功能,这取决于多方面的因素。比如团队的相应技术运维能力、项目投入成本、业务系统的负......
  • Oracle - 常见函数总结
    to_date()字符串转日期selectto_date('20050101','yyyyMMdd')todayfromdualto_char()将数值或日期型转化为字符selectto_char(12345678,'999,999,999,999')fromdual;selectto_char(sysdate,'yyyy-MM-dd')fromdual;to_number()......
  • 第八周总结
    本周我着重复习了Hadoop的相关知识,并对以下几个方面进行了总结和学习: 1.Hadoop基本概念和架构:我回顾了Hadoop生态系统的基本概念和架构。我了解了Hadoop的两个核心组件:Hadoop分布式文件系统(HDFS)和MapReduce计算模型。我学习了Hadoop的分布式架构,包括主节点(NameNode)和数据节点(Da......
  • MySQL binlog日志总结
    概念描述binlog日志:binlog日志用于记录所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改。binlog可用于实时备份,主从复制master->slave的数据同步。知识总结binlog相关参数:log_bin:#开启binlog参数,可以指定......