有道云问题

技术上:

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343