热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

spark与hadoop介绍

昨天有人问我spark是什么,和mapreduce,yarn,hadoop有什么区别和联系。今天饭毕就来絮叨絮叨这些东西。第一个问题hadoop是什么?一句话,hadoop是大数据

昨天有人问我spark是什么,和mapreduce,yarn,hadoop有什么区别和联系。今天饭毕就来絮叨絮叨这些东西。

第一个问题hadoop是什么?一句话,hadoop是大数据处理全家桶。其包括了hdfs(hadoop file system), yarn, mapreduce等。当然,hadoop也是一头象:P。

这里面呢,有的要学,有的不用学。最典型的要学的就是hdfs,最典型的不要学的就是mapreduce。原因也很简单,这个东西已经过时了。

什么是hdfs呢?首先它是一个文件系统。文件系统就是将磁盘,硬盘等变成抽象的文件夹的软件系统。hadoop file system 就是将许多块分布在网络上的磁盘,变成一个一个文件夹的软件,让它们看起来就像是一个电脑上的文件夹一样。

例如

hadoop fs -cat hdfs://host1:port1/file1 hdfs://host2:port2/file2
hadoop fs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ]
hadoop fs -cp URI [URI ] <dest>

这些命令的核心是与linux 的shell命令是很像的。

什么是yarn呢?yarn就是你的管家,任务执行时的管家。

想象一下,当你给100台机器分发一个任务的时候。有哪些共有的操作需要完成呢?首先是任务什么时候做。当前机器有没有这么多的资源给你做。如果要做的话,哪些机器做具体的哪一个任务。机器在完成任务的时候,如果有一台机器突然死机了,怎么办,你如何得知。它做的这一部分任务如何重新分配。任务做完了以后垃圾文件要清理。这些都需要被完成。yarn就是完成这些功能的管家。

它会对你的任务进行排期。帮你申请资源。帮你进行任务分发,尽可能的让有相应数据的机器去做需要数据的任务。帮你监督这些机器,一旦有机器坏掉了,将该子任务重新交给别的机器去做。任务做完了以后,还帮你做一做打扫。

有一个不成熟的小比喻,就是yarn就像一个产品经理。帮你排期,帮你协调资源,有人离职了帮你进行任务的交接,任务做完了帮你评审,帮你写总结。

说了这么多,说了些辅助的工具。现在该轮到计算引擎了。mapreduce就是这样的计算引擎。mapreduce真的是太麻烦了。需要继承Mapper,写上一大堆没有用的代码。Luckily,它已经被淘汰了。

你真正需要了解的是spark。spark是大数据的计算引擎,是真正 需要完成任务的。spark不能单独存在,它得需要hdfs,yarn的帮助。就像一个研发人员是需要电脑和产品经理才能让研发专注于业务。什么是计算引擎呢,举个例子。假设你需要统计一下你今年卖了多少产品。可是你只有交易记录。这可怎么办呢,这个时候你就需要spark来帮你完成这个计算任务。

假设你的表格是这样的

(&#8216;牙膏&#8217;, 2)

(&#8216;电脑&#8217;, 3)

&#8230;

(&#8216;书&#8217;, 5)

可是你的数据量特别大,大到这些数据并没有在一台机器上面存。幸好,有了hdfs的帮助,这些数据存在hdfs上。假设dataframe就是你的表格

dataframe.rdd.map(row=>row('goods_name')->row('num')).reduceByKey(_+_)

简单不,就这么一行,就能把大量的底层操作全部屏蔽掉,让你的帮手hdfs,yarn,spark把恶心的东西都帮你做了。

这就是spark。


推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了如何在Mac上使用Pillow库加载不同于默认字体和大小的字体,并提供了一个简单的示例代码。通过该示例,读者可以了解如何在Python中使用Pillow库来写入不同字体的文本。同时,本文也解决了在Mac上使用Pillow库加载字体时可能遇到的问题。读者可以根据本文提供的示例代码,轻松实现在Mac上使用Pillow库加载不同字体的功能。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
author-avatar
洪爷不是我
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有