
大数据
旁白者说
葡萄美酒夜光杯,欲饮琵琶码上催
展开
-
Hive架构图及流程
一上图肯定会很晕,所以先把流程顺一遍看图就会清晰很多.流程客户端提交Hql语句任务给DriverDriver会创建一个session handler用于查询操作,接着dirver会将查询操作发送到compiler生成一个execute planCompiler通过对Hql词法,语法分析得到要操作的表,然后到MetaStore中获取需要的Hive元数据信息。Compiler得到元数据信息,对task进行编译,先将Hql转换为抽象语法树,然后将抽象语法树转换成查询块,再将查询块转化为逻原创 2021-01-06 14:24:24 · 728 阅读 · 0 评论 -
Spark复习之一
如何理解Spark中的血统概念(RDD)简述Spark的宽窄依赖RDD 只支持粗粒度转换,即在大量记录上执行的单个操作。将创建 RDD 的一系列 Lineage(血统)记录下来,以便恢复丢失的分区。RDD 的 Lineage 会记录 RDD 的元数据信息和转换行为,当该 RDD 的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。RDD在Lineage依赖方面分为两种Narrow Dependencies与Wide Dependencies用来解决数据容错时的高效性以及划分原创 2020-12-31 18:13:59 · 229 阅读 · 1 评论 -
概率论与数理统计之笔记手稿(二)
原创 2020-12-23 20:26:02 · 452 阅读 · 2 评论 -
Hadoop之Yarn(三)
补充Yarn知识,从别人那借过来的知识1)Hadoop调度器重要分为三类:FIFO 、Capacity Scheduler(容量调度器)和Fair Sceduler(公平调度器)。Apache默认的资源调度器是容量调度器;CDH默认的资源调度器是公平调度器。2)区别:FIFO调度器:支持单队列 、先进先出 生产环境不会用。容量调度器:支持多队列,保证先进入的任务优先执行。公平调度器:支持多队列,保证每个任务公平享有队列资源。3)在生产环境下怎么选择?大厂:如果对并发度要求比较高,选择公平原创 2020-12-21 21:19:19 · 209 阅读 · 0 评论 -
Hadoop之Yarn(二)
ResourceManagerRM是一个全局的资源管理器,负责整个系统的资源管理和分配.它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(ApplicationsManager, ASM).调度器:根据容量,队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给给个正在运行的应用程序。需要注意的是,该调度器是一个“纯调度器”,它不再从事任何与具体应用程序相关的工作,比如不负责监控或者跟踪应用的执行状态等,也不负责重新启动因应用执行失败或者硬件故障而原创 2020-12-20 12:32:33 · 251 阅读 · 1 评论 -
Hadoop之Yarn(一)
一.概述Yarn是Hadoop的资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在资源利用率,资源统一管理和数据共享等方面带来了巨大好处.Yarn的基本思想是将JobTracker的两个主要功能分离(资源管理和作业调度/监控),主要方法时创建一个全局的ResourceManager和若干个针对应用程序的ApplicationMaster.这里的应用程序是指传统的MapReduce作业.Yarn分层结构的本质是ResourceManager.这个实体控制整个集原创 2020-12-19 14:39:29 · 431 阅读 · 1 评论 -
Hadoop之小文件
一.概述每个小文件无论多小都会对应一个block,而每一个小文件在NameNode中都要有元数据的记录,如果存在大量小文件,则NameNode中的大量空间都用来存放这些小文件的元数据信息,其实是相当浪费的,对于NameNode的性能有比较大的影响当使用MapReduce处理大量小文件时,默认情况下MapReduce在进行切片操作时规则是和block切的规则一样,即一个block对应一个inputSplit,而一个InputSplit就对应一个Mapper,这样会造成开启大量的MapperTask,但是原创 2020-12-18 21:17:47 · 198 阅读 · 3 评论 -
Hadoop之基本命令
今天来点基本命令吧,事无巨细统统拿下,O(∩_∩)O哈哈~命令说明hadoop fs -mkdir创建目录hadoop fs -ls查看目录下有哪些目录hadoop fs -put将目标文件放到指定目录下hadoop fs -get将目标文件下载到指定目录下hadoop fs -rm删除指定目录的指定文件hadoop fs -rmdir删除目录,该目录必须为空目录hadoop fs -rmr删除目录,目录可有文件hadoop fs原创 2020-12-17 14:18:37 · 177 阅读 · 0 评论 -
Hadoop之API
读取文件@Testpublic void testConnentNamenode() throws Exception{ Configuration cf = new Configuration(); FileSystem fs = FileSystem.get(new URI("hdfs://192.168.000.000:9000"), cf, "root"); InputStream in = fs.open(new Path("/test/demo.txt")); OutputStrea原创 2020-12-16 17:37:31 · 151 阅读 · 0 评论 -
Hadoop之运行环境搭建
5.Hadoop运行环境搭建登录账户关闭防火墙修改IP修改主机名配置hosts文件,将需要搭建集群的主机全部配置到hosts文件中配置ssh免密登录生成公钥和私钥 ssh-keygen -t rsa将公钥拷贝到需要免密登录的服务器上安装JDK安装Zookeeper安装Hadoop配置集群core-site.xmlhadoop-env.shhdfs-site.xmlyarn-env.shyarn-site.xmlmapred-env.shmapred-site.原创 2020-12-15 14:38:22 · 174 阅读 · 0 评论 -
Scala之翻译篇
有没有人是学日语的呢?今天献上一篇日文吧,然后姐姐我给大家翻译翻译.初遇Scala容我简短地为Scala和编译器写上两句吧.不过在这简短的文字里主要还是为有一定编程经验并且想要琢磨一下Scala能做些什么的人而写的喔.也就是说起码你要懂得何为面向对象编程,特别是还要有一定的Java基本功.第一个Demo(前两天我写了Scala的第一个Demo,不过是写在WorkSheet上的,今天翻译的这篇文字是直接写了一个object)作为第一个Demo,就写一个最基本的Hello World项目吧.虽说不原创 2020-12-14 17:29:21 · 176 阅读 · 0 评论 -
Hadoop之MapReduce概述
1.概述MapReduce是Hadoop中一套分布式的计算框架,分为Map和Reduce两个部分,Map负责数据的整理,Reduce负责数据的汇总.2.序列化机制1.在MapReduce中,要求被传输的数据必须能够被序列化2.Hadoop中,序列化机制默认使用AVRO,但是Hadoop对AVRO的序列化机制进行了进一步封装,提供了更简单的 序列化机制,只需要实现Writable,重写其中的方法即可.在序列化时,要求属性不能为null3.分区分区也就是对MapReduce中的原创 2020-12-13 15:57:33 · 2516 阅读 · 0 评论 -
Hadoop之shuffle过程
好不容易的周末,你是不是在打打麻将,打打牌,摸一摸,洗一洗呢?哈哈~~在这我们还是看看Hadoop是如何洗牌的吧.Map端的Shuffle1.每个Split会分给一个MapTask来处理2.MapTask默认是对数据进行按行读取,每读取一行调用一次map方法3.map方法在处理完一行数据的时候会将数据写出到缓冲区中4.每个MapTask都自带了一个缓冲区,缓冲区维系在内存中5.缓冲区默认大小是100M6.当缓冲区达到条件时,将缓冲区中的数据写到本地磁盘上,这个过程称之为溢写(Spill),产原创 2020-12-12 15:13:10 · 262 阅读 · 0 评论 -
Scala之第一个Demo
“化繁为简,相较Java而言,Scala做了很好的诠释.”-------这就是我初识Scala时的印象,不知道你对Scala又怀有何等心情呢?在学Hadoop的时候,我们老师曾说Scala是门很恶心的语言,之所以学它都是为了学Spark.担心我们不知道能不能坚持下来.说实话,在习惯了Java语言风格之后要接受另一门语言确实是需要时间去适应的.而教我们Scala的老师则说,Scala语言是为聪明人设计的.哈哈,仁者见仁智者见智.只能说:“本是同根生相煎何太急”.废话不多说,我们一起简单看看Scala了原创 2020-12-11 14:50:39 · 317 阅读 · 0 评论 -
MapReduce之Shuffle调优
来点Hadoop的料吧,嘻嘻.Shuffle调优1.将缓冲区大小(默认100M)设置更大. 一般情况下会将缓冲区设置为250~400M左右(切分[split]的大小一般会设置与块[block]的大小相同[默认128M].缓冲区的大小值一般取决于切分的大小,所以一般是128M的倍数.为了方便记忆我们一般都说设为250~400M左右)2.减少溢写次数,如果能够添加Combiner,尽量添加Combiner.(存在不能Combiner的情况,所以视情况而定.)3.将缓冲区阈值(默认80%)设置更大.原创 2020-12-10 16:37:03 · 215 阅读 · 0 评论 -
HDFS之读写删流程
关于读写删流程不是我自己总结的,是从之前学习时候资料上大体拿过来用的,但无论是不是我自己总结的都不碍事,重要的是我们汲取精华化为己用,你说对吗,就像你现在也在白嫖我的文字一样,反正是很香.10.读流程1.客户端发起请求到NN2.NN在收到请求之后会先效验该文件是否存在.若存在,会将这个文件所对应的Block的存储地址放入一个队列中返回给客户端3.客户端收到队列之后会从队列中按每个Block对应的地址将其一次取出,从副本个数地址中取出地址较近的一个读取4.读取完一个Block后,会对这个Block进原创 2020-12-07 14:08:03 · 232 阅读 · 0 评论 -
HDFS之NameNode
旁白者笔下初遇Hadoop昨晚整理的资料不知道是没保存还是怎么的,今天一开机就是找不到,差点没脑裂.所以先提前提醒下伙伴们做事养成随手保存的习惯.其实,我是个蛮谨慎的人的,但是聪明反被聪明误,淹死的往往是会游泳的人,所以在写代码的时候,随手写随手测,小心驶得万年船.今天没有代码,纯理论,有点枯燥,但是我想对理解NN的工作机制还是很有帮助的.昨天还画了好几遍的图,今天就不画了,大家就看纯文本吧,纯纯的青春,纯纯的爱,就算青春不再依旧热爱.好了,接下来我们就看看NN是怎么工作的吧.4.NameNode用原创 2020-12-07 13:56:06 · 662 阅读 · 0 评论