原创 大数据工程师常见面试题 编程模型

发布时间:2019-10-14 18:46:44 浏览 1582 来源:博学谷 作者:照照

    大数据工程师的面试过程中,编程模型的相关问题常常是绕不过去的一个考点。同时编程模型也是大数据工程师工作中非常重要的知识技能。下面就来讲讲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 机制,很容易做到保证所有数据均被处理,一条都不漏。

     

    以上就是大数据工程师有关编程模型知识点的常见面试题,大家都弄明白了吗?想要了解大数据工程师更多的面试问题,可以来博学谷官网体验大数据就业指导课程。认真学完一套就业指导课程,一定能够帮助大家从众多面试者中脱颖而出。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 云计算是什么?云计算的通俗解释 下一篇: 学完云计算和大数据好找工作吗?可以胜任哪些岗位呢?

相关推荐 更多

    推荐课程

  • Flink入门到实战

    ¥198 基础 443

  • 大数据hadoop入门教程

    免费 基础 1957

  • 企业级数仓项目实战

    免费 进阶 812

  • Hive视频教程

    免费 基础 1016

  • 零基础7天精通kettle8.2

    ¥49.9 基础 749

热门文章

  • UI设计培训费用要多少钱?靠不靠谱?
  • 哪个Python培训机构好些?怎么选?
  • 这样的Java自学姿势 学废最快
  • 2021年大数据行业发展前景及岗位方向如何?
  • Web前端开发工程师培训班哪家好?
  • 互联网产品经理岗位现在有多热门?
  • 前端测试用例怎么写?为什么写测试用例?
  • 有哪些好的线上培训产品经理的机构?
  • 零经验的人学编程难吗?能学会吗?
  • 传智博学谷神经网络和深度学习课程推荐
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码