尚大数据技术之高频面试题9.0.5MR参数项目资源配置有用十一vs十一

从Map产生输出开始到Reduce取得数据作为输入之前的过程称作shuffle。

1).Collect阶段:将MapTask的结果输出到默认大小为100M的环形缓冲区,保存的是key/value,Partition分区信息等。

2).Spill阶段:当内存中的数据量达到一定的阀值的时候,就会将数据写入本地磁盘,在将数据写入磁盘之前需要对数据进行一次排序的操作,如果配置了combiner,还会将有相同分区号和key的数据进行排序。

3).Merge阶段:把所有溢出的临时文件进行一次合并操作,以确保一个MapTask最终只产生一个中间数据文件。

4).Copy阶段:ReduceTask启动Fetcher线程到已经完成MapTask的节点上复制一份属于自己的数据,这些数据默认会保存在内存的缓冲区中,当内存的缓冲区达到一定的阀值的时候,就会将数据写到磁盘之上。

5).Merge阶段:在ReduceTask远程复制数据的同时,会在后台开启两个线程对内存到本地的数据文件进行合并操作。

6).Sort阶段:在对数据进行合并的同时,会进行排序操作,由于MapTask阶段已经对数据进行了局部的排序,ReduceTask只需保证Copy的数据的最终整体有效性即可。

5.MapReduce的Partition和Combine有什么区别?

1)combine分为map端和reduce端,作用是把同一个key的键值对合并在一起,可以自定义,该类的主要功能是合并相同的key键

2)partition是分割map每个节点的结果,按照key分别映射给不同的reduce,也是可以自定义的,partition的作用就是把这些数据归类

生产者重要参数参数名称描述bootstrap.servers生产者连接集群所需的broker地址清单,可以设置1个或者多个,中间用逗号隔开。注意这里并非需要所有的broker地址,因为生产者从给定的broker里查找到其他broker信息。key.serializer和value.serializer指定发送消息的key和value的序列化类型。一定要写全类名。buffer.memoryRecordAccumulator缓冲区总大小,默认32m。batch.size缓冲区一批数据最大值,默认16k。适当增加该值,可以提高吞吐量,但是如果该值设置太大,会导致数据传输延迟增加。linger.ms如果数据迟迟未达到batch.size,sender等待linger.time之后就会发送数据。单位ms,默认值是0ms,表示没有延迟。生产环境建议该值大小为5-100ms之间。acks0:生产者发送过来的数据,不需要等数据落盘应答。1:生产者发送过来的数据,Leader收到数据后应答。-1(all):生产者发送过来的数据,Leader+和isr队列里面的所有节点收齐数据后应答。默认值是-1,-1和all是等价的。max.in.flight.requests

.per.connection

-----

1.HBase:

2.ClickHouse:支持物化视图

存宽表

表之间的join比较弱。社区较为活跃,

3.Druid:

社区最不活跃,一直处于孵化阶段

1Spark作业运行流程①构建SparkApplication的运行环境(启动SparkContext),SparkContext向资源管理器(YARN)注册并申请运行Executor资源;

②资源管理器分配并启动Executor,Executor的运行情况将随着心跳发送到资源管理器上;

③SparkContext构建成DAG图,将DAG图分解成Stage(Taskset),并把Taskset发送给TaskScheduler。Executor向SparkContext申请Task;

④TaskScheduler将Task发放给Executor运行,同时SparkContext将应用程序代码发放给Executor;

⑤Task在Executor上运行,运行完毕释放所有资源。

1)客户端client向ResouceManager提交Application,ResouceManager接受Application,并根据集群资源状况选取一个node来启动Application的任务调度器driver(ApplicationMaster)

2)ResouceManager找到那个node,命令其该node上的nodeManager来启动一个新的JVM进程运行程序的driver(ApplicationMaster)部分,driver(ApplicationMaster)启动时会首先向ResourceManager注册,说明由自己来负责当前程序的运行。

4)ResouceManager接受到driver(ApplicationMaster)提出的申请后,会最大化的满足资源分配请求,并发送资源的元数据信息给driver(ApplicationMaster);

5)driver(ApplicationMaster)收到发过来的资源元数据信息后会根据元数据信息发指令给具体机器上的NodeManager,让其启动具体的container。

6)NodeManager收到driver发来的指令,启动container,container启动后必须向driver(ApplicationMaster)注册。

7)driver(ApplicationMaster)收到container的注册,开始进行任务的调度和计算,直到任务完成。

Checkpoint机制

.SqlParser:将sql语句通过javacc解析成AST(语法树),在calcite中用SqlNode表示AST;

2.SqlValidator:结合数字字典(catalog)去验证sql语法;

3.生成LogicalPlan:将sqlNode表示的AST转换成LogicalPlan,用relNode表示;

4.生成optimizedLogicalPlan:先基于calciterules去优化logicalPlan,基于flink定制的一些优化rules去优化logicalPlan;

5.生成FlinkPhysicalPlan:这里也是基于flink里头的rules将,将optimizedLogicalPlan转成成Flink的物理执行计划;

6.将物理执行计划转成FlinkExecutionPlan:就是调用相应的tanslateToPlan方法转换和利用CodeGen元编程成Flink的各种算子。

TableAPI来提交任务的话,基本流程和运行SQL类似,稍微不同的是:tableapiparser:flink会把tableapi表达的计算逻辑也表示成一颗树,用treeNode去表式;在这棵树上的每个节点的计算逻辑用Expression来表示。

nclient发起查询请求,某个DataNode接收到请求,该DataNode就会成为协调节点(CoordinatingNode)

n协调节点(CoordinatingNode)将查询请求广播到每一个数据节点,这些数据节点的分片会处理该查询请求。协调节点会轮询所有的分片来自动进行负载均衡

n每个分片进行数据查询,将符合条件的数据放在一个优先队列中,并将这些数据的文档ID、节点信息、分片信息返回给协调节点

n协调节点将所有的结果进行汇总,并进行全局排序

n协调节点向包含这些文档ID的分片发送get请求,对应的分片将文档数据返回给协调节点,最后协调节点将数据返回给客户端

(1)客户端通过REST接口,将作业提交给分发器。

(2)分发器启动JobMaster,并将作业(包含JobGraph)提交给JobMaster。

(3)JobMaster向资源管理器请求资源(slots)。

(4)资源管理器向YARN的资源管理器请求container资源。

(5)YARN启动新的TaskManager容器。

(6)TaskManager启动之后,向Flink的资源管理器注册自己的可用任务槽。

(7)资源管理器通知TaskManager为新的作业提供slots。

(8)TaskManager连接到对应的JobMaster,提供slots。

(9)JobMaster将需要执行的任务分发给TaskManager,执行任务。

0.17HBase读写流程?阿善背诵读:①HRegionServer保存着meta表以及表数据,要访问表数据,首先Client先去访问zookeeper,从zookeeper里面获取meta表所在的位置信息,即找到这个meta表在哪个HRegionServer上保存着。②接着Client通过刚才获取到的HRegionServer的IP来访问Meta表所在的HRegionServer,从而读取到Meta,进而获取到Meta表中存放的元数据。③Client通过元数据中存储的信息,访问对应的HRegionServer,然后扫描所在HRegionServer的Memstore和Storefile来查询数据。④最后HRegionServer把查询到的数据响应给Client。

写:①Client先访问zookeeper,找到Meta表,并获取Meta表元数据。②确定当前将要写入的数据所对应的HRegion和HRegionServer服务器。③Client向该HRegionServer服务器发起写入数据请求,然后HRegionServer收到请求并响应。④Client先把数据写入到HLog,以防止数据丢失。⑤然后将数据写入到Memstore。⑥如果HLog和Memstore均写入成功,则这条数据写入成功⑦如果Memstore达到阈值64M,会把Memstore中的数据flush到Storefile中。⑧当Storefile越来越多,会触发Compact合并操作,把过多的Storefile合并成一个大的Storefile。⑨当Storefile越来越大,Region也会越来越大,达到阈值后,会触发Split操作,将Region一分为二。

-----技术架构图

-----tiaokai

--200万*100条*1k=10亿k=191G

voidbubbleSort(intarr[],intn){inti,j,temp;for(i=0;iarr[j+1]){//交换arr[j]和arr[j+1]temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}

THE END
1.电脑老是断网一会又好了怎么回事电脑断网一会又好的问题可能由以下原因引起: 1. 网络信号不稳定:可能是由于你所连接的无线网络信号不稳定,导致断网。你可以尝试靠近无线路由器,或者通过更换无线信号强度更好的频段来解决。 2. 路由器问题:路由器可能存在故障或设置问题,导致断网。你可以尝试重启路由器或者重置路由器的设置来解决。 3. 防火墙或https://www.zmnoa.com/ask/351395/
2.电脑频繁断网过几秒就恢复电脑频繁断网过几秒就恢复可能是由于以下原因导致的: 1. 网线问题:需要确定网线是否正常,如有问题请更换网线。 2. 网卡问题:可以尝试更换网卡或者在设备管理器中调整网卡的连接速度和双工模式。 3. 系统问题:可以尝试重装系统,看是否能解决问题。 4. 路由器设置问题:可以尝试修改路由器的连接方式,例如将按需连接改https://www.510flash.com/a/81g0n6v3j.html
3.win10wifi间歇性断网重启后恢复许多Win10用户遇到WiFi连接每隔几秒钟断开的问题。本文提供了包括检查驱动、运行网络疑难解答、更改安全类型等在内的多种解决方案,帮助用户解决WiFi间歇性断网的困扰。 摘要由CSDN通过智能技术生成 wifi总是断断续续的掉线?修复Win10上WiFi连接每隔几秒钟掉线一次 https://blog.csdn.net/weixin_36356958/article/details/111989024
4.电脑经常断网又自动恢复是怎么回事断网又自动恢复方法介绍电脑经常断网又自动回复是怎么回事? 很多时候上网都会遇到网络异常的问题,比如正看电视看得好好的,突然就没网了,然后过一会又有了。这是怎么回事呢? 下面,我们就来看看电脑网络故障解决。 1、开始→控制面板。 2、控制面板→网络和Internet 连接。 3、网络和Internet 连接→网络连接。 http://product.pconline.com.cn/itbk/wlbg/network/1709/9981046.html
5.电脑网络总是闪断(电脑网络闪断怎么回事)好酷屋教程网小编为您收集和整理了电脑网络总是闪断(电脑网络闪断怎么回事)的相关教程:电脑网络闪断怎么回事出现这种情况,一般是电脑网卡的工作模式的问题,改一下电脑网卡的工作模式。本地连接——属性——常规——配置——高级,进到里面有一项是网卡工作模式的,因为网卡不同,所以很难列出来了,自 https://www.haoku5.com/shuma/65ceb57075e6a4d60a011cf4.html
6.光猫时不时断网然后又好了光纤猫灯正常,但网络不稳定经常掉线但一两秒就又来了 光纤猫灯正常,但网络不稳定经常掉线但一两秒就又来了。是怎么回事,求大师指点 来自光纤吧 a3801436 贴吧用户_7XC81a207-29 10 电脑偶尔会出现断网,过1分钟就自动恢复,这是什么情况?换了新 电脑偶尔会出现断网,过1分钟就自动恢复,这是什么情况?换了https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=1933021
7.宽带路由器设备中间歇性断网故障的排除方法为了检验局域网中的交换机设备是否能够正常工作,笔者索性将笔记本电脑直接连接到局域网的宽带路由器设备上,之后在笔记本电脑上重新进行了上网测试,可是最终的测试结果还是让笔者非常失望,笔记本电脑仍然过一段时间就发生了网络掉线现象,而且没有多长时间又能自动恢复正常;根据这一测试结果,笔者认为间歇性断网故障与交换机设https://www.51cto.com/article/170114.html
8.苹果11网络不稳定或断网苹果11wifi间歇性断网 苹果11WiFi间歇性断网的问题可能由以下原因引起: 1. 网络信号不稳定或路由器配置不当:这种情况下,可以尝试重启路由器或调整路由器的位置,避免被物理障碍物遮挡。如果问题仍然存在,可以考虑更换路由器或者调整网络设置,以确保网络信号稳定。 https://www.xinpinmao.com/post/e7vop55qy.html
9.深入解析Win7断网原因及解决方法,轻松恢复网络连接2、网络设置错误 错误的网络设置也是导致断网的常见原因。例如,IP地址冲突、DNS设置错误等都会影响网络连接的稳定性。 3、硬件故障 网络硬件如网卡、路由器等出现故障,也会导致网络连接中断。特别是网卡损坏或松动,可能会导致间歇性断网。 4、病毒或恶意软件 病毒或恶意软件可能会篡改网络设置,甚至阻止网络连接。定期https://www.958358.com/jiaocheng/136446.html
10.水位监测控制(精雅篇)试验证明,本系统具有通用性好,集成度高,成本低,可扩展性好,智能化高,实时性好,易于维护等优点,可用于多种监测环境的多模式水位自动监测系统及远程控制系统。将物联网技术应用在水库水位监测及远程控制方面将对水库水位信息化、智能化管理有着重要的作用。 https://www.360wenmi.com/f/cnkeyr03vciz.html
11.win10频繁断网怎么办win10系统间歇性断网的解决办法windows10如何解决win10无线网间歇性掉线?网络已成为了日常生活中必不可缺少的一部分,最近有不少小伙伴说在使用win10系统的时候出现无限网络不稳定的情况,但重新启动电脑之后又恢复正常了。那么遇到这样的问题该怎么办呢。所以今天小编就为大家带来了如何解决win10无线网间歇性掉线的相关内容,感兴趣的一起来脚本之家看看吧! https://www.jb51.net/os/win10/834966.html