
上QQ阅读APP看书,第一时间看更新
2.7 shell命令行代码调试
Flink支持通过shell命令行的方式来运行代码,类似于Spark的shell命令行代码调试,以便开发人员对代码执行结果进行跟踪调试,查验代码问题所在。
Flink shell方式支持流式处理和批量处理,启动shell命令行之后,两个不同的Execu-tionEnvironments会被自动创建,然后通过senv变量和benv变量分别处理流式处理和批量处理程序(类似于spark-shell中的sc变量)。
2.7.1 批量处理代码调试
接下来先尝试一下批量处理代码调试功能,使用benv变量来实现代码的使用与开发。
(1)进入Flink的scala-shell
在node01上执行以下命令进入scala-shell。

也可以启动Flink的集群,然后进入Flink的shell客户端,将任务提交到Flink集群上。

(2)使用benv变量执行批量处理
在scala-shell下,使用批量处理来调试代码。

2.7.2 实时处理代码调试
通过senv变量实现代码调试。
1)在node01上启动Socket服务端。

2)进入scala-shell客户端。

3)使用senv变量来统计单词出现的次数。

4)node01服务器发送单词。在节点执行“nc-lk 9000”命令后,在控制台输入单词即可。