flink学习笔记-shell命令号调试flink实时、批处理任务

  • 为了方便我们的开发调试,Flink支持通过shell命令行的方式来对我们的代码进行开发运行,类似于Spark的shell命令行对代码的调试是一样的,可以方便的对我们的代码执行结果进行跟踪调试,查验代码的问题所在Flink shell方式支持流处理和批处理。
  • 当启动shell命令行之后,两个不同的ExecutionEnvironments会被自动创建。使用senv(Stream)和benv(Batch)分别去处理流处理和批处理程序。(类似于spark-shell中sc变量)
  • 1: 批量处理代码调试
    • 第一步:进入flink的scala-shell
    cd /opt/install/flink-1.8.1/
    bin/start-scala-shell.sh local
    
    • 第二步:使用benv变量执行批量处理
    # 在scala-shell下,使用批处理来调试代码
    val line =benv.fromElements("hadoop hive","spark flink")
    line.flatMap(x => x.split(" ")).map(x =>(x,1)).groupBy(0).sum(1).print
    
  • 2:实时处理代码调试
    • 第一步:node01启动nc -lk 服务端
    [hadoop@node01 ~]$ nc -lk 8000
    
    • 第二步:进入scala-shell客户端
    cd /opt/install/flink-1.8.1/
    bin/start-scala-shell.sh local
    
    • 第三步:使用senv来统计单词出现次数
    senv.socketTextStream("node01",8000).flatMap(x => x.split(" ")).map(x =>(x,1)).keyBy(0).sum(1).print
    senv.execute
    
    • 第四步:node01发送单词
发布了40 篇原创文章 · 获赞 59 · 访问量 1403

猜你喜欢

转载自blog.csdn.net/qq_26719997/article/details/105041609