在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
在大数据工程师的面试过程中,编程模型的相关问题常常是绕不过去的一个考点。同时编程模型也是大数据工程师工作中非常重要的知识技能。下面就来讲讲Spout、Bolt、并行度、消息不丢失这几方面的内容,感兴趣的小伙伴就赶紧接着看下去吧!
1、Spout
Spout 是接受外部数据源的组件,将外部数据源转化成 Storm 内部的数据, 以 Tuple 为基本的传输单元下发给 Bolt。(Tuple 是 Storm 内部中数据传输的基本单元,里面封装了一个 List 对象,用来保存数据。)
2、Bolt
Bolt 是接受 Spout 发送的数据,或上游的 bolt 的发送的数据。根据业务逻辑进行处理。发送给下一个 Bolt 或者是存储到某种介质上。介质可以是 mongodb 或 mysql,或者其他。
3、并行度
Worker:表示一个进程。
Executor:表示由 worker 启动的线程。
Task:实际执行数据处理的最小工作单元(注意,task 并不是线程)。
并行度的设置:评估上游 kafka 每秒生产的数据量,分析 topic 每个 partition。每秒的数据量,partition 的数据量=SpoutTask 接受数据量SpoutTask 数量=partition 的数量。
Worker 的设置:如果数据量大,worker 的数量等于 spouttask 的数量。
4、消息不丢失
ack 机制即, spout 发送的每一条消息,在规定的时间内,spout 收到 Acker 的 ack 响应,即认为该 tuple 被后,续 bolt 成功处理。在规定的时间内,没有收到 Acker 的 ack 响应 tuple,就触发 fail 动作, 即认为该 tuple 处理失败,或者收到 Acker 发送的 fail 响应 tuple,也认为失败,触发 fail 动作。通过 Ack 机制,spout 发送出去的每一条消息,都可以确定是被成功处理或失败处理, 从而可以让开发者采取动作。比如在 Meta 中,成功被处理,即可更新偏移量,当失败时,重复发送数据。因此,通过 Ack 机制,很容易做到保证所有数据均被处理,一条都不漏。
以上就是大数据工程师有关编程模型知识点的常见面试题,大家都弄明白了吗?想要了解大数据工程师更多的面试问题,可以来博学谷官网体验大数据就业指导课程。认真学完一套就业指导课程,一定能够帮助大家从众多面试者中脱颖而出。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据面试题 Spark运行架构
Spark作为一种分布式的计算框架,类似于大数据开发中Hadoop生态圈的MapReduce,计算思想和MR非常相似,两者都是分而治之的思想,但使用率要比MR高很多。本文整理了关于Spark运行架构的大数据面试题,内容包括Spark运行的基本流程、架构特点、优势。
6492
2019-09-05 15:19:35
大数据面试要注意哪些方面?大数据面试准备三大攻略
大数据面试要注意哪些方面?一般来说,求职者要做好自我介绍、面试提问和专业考题三大方面的准备。下面是小编专门为大数据求职者整理的面试攻略,希望对大家找工作有所帮助。
7048
2019-09-08 19:36:29
做大数据开发累吗?需不需要加班?
做大数据开发累吗?需不需要加班?首先我们来了解大数据的工作内容,用一句话总结就是分析历史、预测未来、优化选择。总体上看来,大数据开发的工作需要按部就班进行,因此一般不需要加班,但是偶尔也会因为额外的需求增加以及对项目进度的把控而需要加班。不过,就与其它的研发技术岗位比较,大数据开发已经算是比较轻松的工作了。
16711
2019-09-16 10:10:54
大数据疑难解答 Hbase内部是什么机制?
众所周知,HBase是一个非关系型数据库,它的特征是分布式、列式存储、开源和版本化。无论是在大数据的面试中,还是大数据的工作中,这都是一个经常会出现的难题,然而却很少人能够说清Hbase内部机制。今天我们就花些时间聊聊Hbase内部是什么机制。
6939
2019-10-17 18:13:28
有程序员我不当,我要当年薪40万的农民工!
不论是在职提升,还是跨专业转型,他们都选择了【狂野大数据】进行学习。国内 IT、通讯、行业招聘中,有 10% 都是和大数据相关的,且比例还在上升。“大数据时代的到来很突然,在国内发展势头激进,而人才却非常有限,现在完全是供不应求的状况。
4152
2021-08-23 16:18:02