美文网首页
有道云问题

有道云问题

作者: 张思思_113d | 来源:发表于2020-06-18 19:58 被阅读0次

技术上:

1. Hadoop学习,核心两个技术点需要理解:

(1) HDFS,含义与应用以及工作原理

    希望能带着以下问题去学习:

        a.  HDFS的存储机制,包括写入过程和读取过程(深入细节)

写入是将数据分割成大小固定的块进行存储的,块大小默认为64Mb(旧),128mb(新),不足64Mb的数据不会占用整个块的大小,写入之后的数据是只读的。

由于数据是只读的,因此数据读取具有一致性,可以多次读取,保证了大吞吐量。

        b.  NameNode 与 DataNode 的概念和关系,能画出集群中的关系图(画图)

NameNode是管理者,管理文件系统的命名空间,维护文件系统树以及树内的文件和目录,记录每个文件中各个块所在的数据节点信息。唯一。

DataNode 是工作者,根据需要存储并检索数据块,并定期向NameNode发送他们所存储的块的列表。根据需要设置多个。

        c.  secondaryNameNode工作机制(编辑日志,命名空间镜像查找)

定期通过编辑日志合并命名空间镜像,以防止编辑日志过大。一般运行在另一台单独的物理计算机,因为它在合并过程中需要占用大量的cup资源和与NameNode相同的内存。

        d. NameNode与SecondaryNameNode 的区别与联系

SecondaryNameNode 辅助NameNode完成合并工作,并且当NameNode失效时可以替代成为新的NameNode。但是NameNode是始终唯一的。

        e. HDFS 数据存储是由哪个程序模块来负责的

        f.  HDFS 数据多备份的实现机制,数据备份过程是同步的还是异步的

        g. hdfs 常用的shell命令集合

(2) HIVE, 工作机制(公司内部叫做tdw)

    希望能带着以下问题去学习:

        a. Hive内部表和外部表的区别?

内部表的数据生命周期会被Hive控制,删除操作下内部表的数据也会被删除,内部表不方便和其他工作共享数据(不太理解)。

外部表有关键字External表示,hive并不完全拥有外部表的数据,删除外部表只会删除元数据不会删除数据。部分HiveQL语法结构不适用于外部表(具体哪些)。外部表可以理解为对外部数据的引用。

        b. Hive表关联查询,如何解决数据倾斜的问题?

        c. hive中 sort by ,order by ,cluster by ,distribute by各代表什么意思

        d. 数据中的null,在hive底层如何存储

        e. Hive有哪些方式保存元数据,各有哪些特点?

        f. Hive 中的压缩格式TextFile、SequenceFile、RCfile 、ORCfile各有什么区别?

        g. 数据仓库与执行引擎概念的区分

2. Spark 学习,分为几个概念来理解:

(1) 集群概念

        a. 在你提交一次spark任务后,整个作业的执行流程都有哪些?即是程序是怎么在spark集群上执行并最终输出结果的。

 b. 什么是driver,什么是excutor,他们之间的关系是什么,分别都在哪里运行的。

driver是执行开发程序中的main方法的进程,该进程主要有四个任务:1,把用户程序转化为任务。2,跟踪executor的运行情况。3,为执行器节点调度任务。4,UI展示运行情况。

executor是工作进程,负责在spark作业中运行任务,任务间相互独立。作用:1,负责运行组成spark应用的任务,并将结果返回给驱动器进程。2,通过自己的块管理器为用户程序中要求缓存的RDD提供内存式存储。

他们之间是相互通信的关系,driver根据部署规则可以运行在master或者worker上,executor只能运行在worker上。

        c. Spark为什么比 Hive 快

1.spark是基于内存的计算框架,而hive是基于磁盘的计算框架,两者的中间结果存储位置不同。内存的效率高但是可靠性低,磁盘的效率低但是可靠性高。其中spark通过血缘关系和checkpoint保证可靠性。

2.spark的DAG调度相当于优化的mapreduce,主要在于DAG调度尽量减少shuffle,减少中间结果,相比mapreduce减少了磁盘io的时间。此外spark支持将反复使用的数据加载到内存,提高效率。

3.spark是粗粒度资源申请,一般是提前申请足够的资源再开始计算,这样task就不需要等待,但是这样不利于集群资源的充分利用,存在资源浪费,但是速度快。而hive中的mapreduce则是细粒度资源申请,一般是提交完application之后由task自己申请资源再执行,资源利用率高,但是速度慢。此外

(2) 常用概念

        a. RDD, DAG, Stage怎么理解?

RDD弹性分布式数据集(Resilient Distributed Dataset),数据集的数据都是平铺的,可以顺序遍历,只读的,可指定缓存在内存,可以通过重新计算得到。一个RDD对象包括5个核心属性:一个分区列表,一个依赖列表,一个计算函数,可选的分区器,可选的计算各分区时优先的位置列表。

DAG是最高层级的调度,为每个job绘制一个有向无环图,跟踪各stage的输出,计算完成job的最短路径,并将Task提交给Task调度器执行

Stage是按照Shuffle分割的Task集合。Shuffle是将不同节点的数据拉取到同一节点。

        b. stage, job, task,application 这几个概念以及他们之间的关系。

一次RDD的Action对应一个job,一个job启动多个stage,一个stage包括多个task。apllication泛指运行在spark上的程序。task是执行器里面最小的单元。

        c. 宽依赖、窄依赖怎么理解?(画图补充)

宽依赖:父分区对应多个子分区

窄依赖:父分区对应一个子分区

        d. Transformation和action是什么?区别?举几个常用方法(了解算子)

Transformation是指由一个rdd生成新rdd的过程,并且所有的Transformation都只是生成了rdd之间的计算关系与计算方法,并没有开始真正的计算。

map(),flatmap(),groupbykey(),reducebykey(),sortbykey(),filter()

action操作不再生成新的rdd,它是实际计算的执行者,它会向集群正式提交计算请求。

count(),collect(),foreach(),take(),first(),reduce()

        e. Spark streamming 工作流程是怎么样的,和Storm比有什么区别

1.客户端提交作业后启动driver

2.driver与多个executor沟通,每个executor都以线程的方式运行task,众多task中至少有一个receiver task。

3.receiver task接收到数据后,根据批处理实时间隔生成block,并返回block ID给driver,block则备份到另一个executor上

4.receiver task维护汇报给driver的block ID

5.driver定时启动jobgenerator,并根据dstream的逻辑关系生成逻辑RDD,然后创建jobset,交给jobscheduler

6.jobscheduler负责调度jobset,交给dagscheduler,dagscheduler根据逻辑rdd,生成相应的stages,每个stage包含多个task。

7.taskscheduler负责把task调度到executor上,维护task运行状态。

8.当task、stage、jobset都完成,一个batch才算完成。

与storm的对比:

1.实时计算模型:

storm是来一条消息处理一条,纯实时。 spark streaming是准实时,来一个时间段的数据收集起来,作为一个rdd,再处理。

2.实时计算延迟度:

storm是毫秒级,spark streaming是秒级

3.吞吐量:

storm低吞吐量,spark streaming是高吞吐量

4.事务机制:

storm支持事务,并很完善,spark streaming支持事务,但不完善

5.健壮性/容错性:

storm容错性很强大,由zookeeper和acker支持。spark streaming容错性一般,由checkpoint和wal保证

6.动态调整并行度:

storm支持,spark streaming不支持。

    书籍推荐:《Spark最佳实践》建议学习这本书。

业务上:

    先买 《计算广告》。

    了解清楚一些基本概念:

    CPC,CPM,CPA 都是什么意思?

    CTR,CVR分别代表什么? 等等,基本概念必须清楚,多用用 腾讯视频和腾讯新闻,平时留意下广告出现的位置--广告位。

    业务上很多东西需要来了之后,边做边了解。

相关文章

  • 有道云问题

    技术上: 1. Hadoop学习,核心两个技术点需要理解: (1) HDFS,含义与应用以及工作原理 希望能带...

  • 有道云笔记问题

    mac电脑有道云笔记登陆后,一直loading,然后所有文件都无法显示。保证本地已经同步备份好了。保证有道云笔记彻...

  • Mac版本有道云笔记 同步失败问题

    Mac 版本 有道云笔记同步异常问题,同步失败,无法同步... 最近使用Mac版本有道云笔记,发现同步文件同步失败...

  • 有道云Markdown输入数学公式(问题)

    有道云笔记使用的是KaTe渲染方案,但有一些KaTeX支持的功能在有道云的显示有问题,记录一下。 不等号KaTex...

  • 20170601单词扩展

    有道云笔记和天天用英语的衔接问题终于又解决了。这个过程里一定倾注了天天用英语、有道云笔记、微信团队的大量工作,由于...

  • 有道云笔记

    有道云笔记是一个个人与团队的线上资料库,我与我的小组通过使用有道云笔记协作完成了书摘。我发现使用有道云笔记的好处有...

  • 有道云笔记

    Linux命令

  • 解锁有道云

    “有道云笔记”这个app被推荐好多次 我兴冲冲的下载下来,放在那里 过一段时间发现,咦?这个软件没有用过呀,那就删...

  • 云梅有道

    晴空一片云 万朵榆叶梅 居家何所去 手头有风景

  • 有道云,友

    《有道云,友》 寂静的夏夜,被几道长扬划破 水泥道上,滩涂边上,山林边上 几个老友肚子里装了几斤啤酒 勾着肩搭着背...

网友评论

      本文标题:有道云问题

      本文链接:https://www.haomeiwen.com/subject/ijfpxktx.html