面试题百日百刷-flink篇(二)

锁屏面试题百日百刷,每个工作日坚持更新面试题。请看到最后就能获取你想要的,接下来的是今日的面试题:

1.Flink 的运行必须依赖 Hadoop组件吗?

Flink可以完全独立于Hadoop,在不依赖Hadoop组件下运行。但是做为大数据的基础设施,Hadoop体系是任何大数据框架都绕不过去的。Flink可以集成众多Hadooop 组件,例如Yarn、Hbase、HDFS等等。例如,Flink可以和Yarn集成做资源调度,也可以读写HDFS,或者利用HDFS做检查点。

2.你们的Flink集群规模多大?

大家注意,这个问题看起来是问你实际应用中的Flink集群规模,其实还隐藏着另一个问题:Flink可以支持多少节点的集群规模?在回答这个问题时候,可以将自己生产环节中的集群规模、节点、内存情况说明,同时说明部署模式(一般是Flink on Yarn),除此之外,用户也可以同时在小集群(少于5个节点)和拥有 TB 级别状态的上千个节点上运行 Flink 任务。

3.Flink的基础编程模型了解吗?

上图是来自Flink官网的运行流程图。通过上图我们可以得知,Flink 程序的基本构建是数据输入来自一个 Source,Source 代表数据的输入端,经过 Transformation 进行转换,然后在一个或者多个Sink接收器中结束。数据流(stream)就是一组永远不会停止的数据记录流,而转换(transformation)是将一个或多个流作为输入,并生成一个或多个输出流的操作。执行时,Flink程序映射到 streaming dataflows,由流(streams)和转换操作

(transformation operators)组成。

4.Flink集群有哪些角色?各自有什么作用?

Flink 程序在运行时主要有 TaskManager,JobManager,Client三种角色。其中JobManager扮演着集群中的管理者Master的角色,它是整个集群的协调者,负责接收Flink Job,协调检查点,Failover 故障恢复等,同时管理Flink集群中从节点TaskManager。TaskManager是实际负责执行计算的Worker,在其上执行Flink Job的一组Task,每个TaskManager负责管理其所在节点上的资源信息,如内存、磁盘、网络,在启动的时候将资源的状态向JobManager汇报。Client是Flink程序提交的客户端,当用户提交一个Flink程序时,会首先创建一个Client,该Client首先会对用户提交的Flink程序进行预处理,并提交到Flink集群中处理,所以Client需要从用户提交的Flink程序配置中获取JobManager的地址,并建立到JobManager的连接,将Flink Job提交给JobManager。

全部内容在[git](https://gitee.com/zjlalaforgit/interview)上,了解更多请点我头像或到我的主页去获得,谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一些 Flink 面试题及其答案,供您参考: 1. 什么是 FlinkFlink 是一个开源的流处理框架,它提供了高性能、稳定可靠、易于使用的流处理引擎,支持在大规模数据处理时进行实时计算和批处理。 2. Flink 的核心原理是什么? Flink 的核心原理是基于流式数据流处理,它将数据流分成若干个事件流,每个事件流都有自己的处理逻辑,最后将处理后的结果合并成最终结果。 3. Flink 的窗口有哪些类型? Flink 的窗口有以下几种类型: - 时间窗口:按照时间间隔划分数据流。 - 计数窗口:按照数据条数划分数据流。 - 滑动窗口:在时间窗口或计数窗口的基础上增加了一个滑动的步长。 - 会话窗口:按照会话时间间隔划分数据流。 4. Flink 支持哪些语言? Flink 支持 Java 和 Scala 两种语言。 5. Flink 和 Spark Streaming 有什么区别? Flink 和 Spark Streaming 都是实时计算框架,但是它们有以下几个区别: - Flink 更加注重实时计算的性能和稳定性,支持更低的延迟和更高的吞吐量。 - Flink 支持按照事件时间进行窗口计算,而 Spark Streaming 只支持按照处理时间进行计算。 - Flink 支持状态后端的切换,而 Spark Streaming 只支持基于内存的状态存储。 - Flink 支持更多的数据源和 Sink,例如 Apache Kafka、RabbitMQ、Elasticsearch 等,而 Spark Streaming 只支持少量的数据源和 Sink。 6. Flink 的高可用机制是怎样的? Flink 的高可用机制主要包括以下几个方面: - Master 选举:Flink 的 JobManager 采用了 ZooKeeper 进行主从节点的选举,保证当主节点失败时可以快速切换到备用节点。 - 容错机制:Flink 采用了 checkpoint 机制,将流式计算的中间状态保存在分布式文件系统上,当程序出现故障时可以快速恢复。 - 多重副本:Flink 采用了多重副本机制,将数据在多个节点上保存多份,避免因为节点故障导致数据丢失。 7. Flink 的数据流转过程是怎样的? Flink 的数据流转过程包括以下几个阶段: - 数据源:从数据源读取数据。 - 数据转换:对数据进行处理、过滤、聚合等操作。 - 窗口计算:按照窗口对数据进行分组和计算。 - 数据 Sink:将计算结果写入外部存储系统。 8. Flink 的优势是什么? Flink 的优势主要包括以下几个方面: - 支持流式计算和批处理,可以处理大规模的数据流和数据集。 - 支持事件时间窗口计算,保证了计算的准确性。 - 支持多重数据源和 Sink,可以与多种存储系统集成。 - 支持高可用和容错机制,保证计算的稳定性和可靠性。 - 支持灵活的编程模型和 API,易于使用和扩展。 - 支持低延迟和高吞吐量的实时计算。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值