数据岗位面试题更新 2026-08-05

请描述在Flink中构建一个基础DataStream作业的步骤是什么?

数据技术原理Apache Flink

考察说明

考查对Flink DataStream编程模型基本流程的掌握程度。

回答思路

  1. 【回答框架 1】DataStream作业通常包含四个核心步骤:获取执行环境、定义数据源、应用转换操作、定义输出。执行环境通过StreamExecutionEnvironment.getExecutionEnvironment获取,它决定了作业的并行度和运行模式。
  2. 【回答框架 2】数据源通过env.addSource或env.fromElements等方法创建,可以是文件、socket或自定义SourceFunction。转换操作通过map、filter、keyBy等算子实现,每个算子返回新的DataStream,形成DAG。
  3. 【回答框架 3】输出通过DataStream.addSink或print方法定义,需指定SinkFunction或将结果写入外部系统。最后调用env.execute启动作业,这会触发Flink应用打包、提交和运行。
  4. 【回答框架 4】作业的并行度可通过env.setParallelism、算子算子单独设置或提交时指定。运行时需保证算子可序列化,且状态和检查点配置需根据作业场景调整。
  5. 【回答框架 5】整体上,简单作业的核心是理解流处理的声明式API,重点在于数据流的构建和最终触发。无需关注内部细节时,按模板填写即可。
  6. 【关键点 1】创建执行环境并设置并行度
  7. 【关键点 2】定义source和sink
  8. 【关键点 3】调用execute触发作业
  9. 【易错点 1】忘记调用execute导致作业不启动
  10. 【易错点 2】未正确设置并行度导致性能问题
  11. 【易错点 3】使用已弃用的API导致兼容性问题