在线客服
扫描二维码
下载博学谷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 机制,很容易做到保证所有数据均被处理,一条都不漏。
以上就是大数据工程师有关编程模型知识点的常见面试题,大家都弄明白了吗?想要了解大数据工程师更多的面试问题,可以来博学谷官网体验大数据就业指导课程。认真学完一套就业指导课程,一定能够帮助大家从众多面试者中脱颖而出。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据kafka常见面试题整理附答案
kafka一直都是大数据面试题的必考点。因此,小编整理了有关kafka知识点的大数据面试题,主要针对kafka的定义、与传统消息系统的区别、kafka集群的安装与搭建三大问题,并附上了参考答案。需要梳理kafka知识点的同学可以看看。
12172
2019-08-06 16:23:49
大数据分析专家到大数据技术总监如何转型?
大数据分析专家到大数据技术总监如何转型?大数据分析专家偏重对数据分析的能力,而转型成大数据技术总监除了精通数据分析能力还有具备管理能力,可以带团队做项目。
8275
2019-10-24 15:40:08
ETL数据工程师职业发展怎么样?
随着大数据发展的逐渐落地,其技术也被广泛的应用于各个领域,大数据工程师也因此成为了目前最具潜力的热门岗位。说到大数据工程师就不得不提及ETL数据工程师,相信大家对这个职位或多或少都有所了解。但是对于ETL数据工程师的具体工作内容、能力要求和职业发展规划大家又了解多少呢?本文就来和大家好好谈谈ETL数据工程师的这一岗位,希望给想从事这个行业的小伙伴一点方向的指引。
10274
2020-02-25 18:28:52
大数据开发工程师是做什么的?岗位要求高吗?
大数据开发工程师要负责数据仓库建设、ETL开发、数据分析、数据指标统计、大数据实时计算平台及业务开发、平台建设及维护等工作内容。熟练掌握数据仓库、hadoop生态体系、计算及二次开发、大数据平台工具的开发:开发平台、调度系统、元数据平台等工具,该岗位对于技术要求较高。
11770
2020-09-03 11:23:41
大数据工程技术人员培训哪些内容?
课程以系统讲解主流大数据应用发展现状、行业落地型大数据解决方案适用情景、完整的大数据分析过程及常用工具操作方法为重点,帮助掌握数据分析,挖掘思路、累积方法,并结合大量企业经营数据进行分析、挖掘客户行为特点,提升学员数据综合分析能力。
8461
2021-03-12 15:23:49
