Flink-1.9流计算开发:一、最初的开始HELLO WORLD

2020-06-15 06:46:01 浏览数 (1)

首先我们需要需要了解的一个概念是Apache Flink支持处理流式计算(stream)和批量计算(batch),但是在目前版本中这两种计算方式各自拥有自己独立的API,本系列文章只讨论流式计算(stream)。

学习本系列的必要条件是已安装Maven 3.0.4 ,java8。

通过maven创建开发模板

代码语言:javascript复制
    $ mvn archetype:generate                               
      -DarchetypeGroupId=org.apache.flink              
      -DarchetypeArtifactId=flink-quickstart-java      
      -DarchetypeVersion=1.9.0

安装过程中需要填写对应的信息,如下图

将项目导入IDE

导入后的项目,目录结构如下图所示:

导入项目后将projects facets修改为java8:

如果项目缺少Maven Dependencies,则在项目的.classpath文件中添加如下配置:

代码语言:javascript复制
<classpathentry exported="true" kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>

编写HELLO WORLD

修改pom.xml文件中的log包的作用域,删掉。

打开StreamingJob.java文件,编写如下代码:

代码语言:javascript复制
public class StreamingJob {
    private static final Logger LOG = LoggerFactory.getLogger(StreamingJob.class);
    public static void main(String[] args) throws Exception {
        // set up the streaming execution environment
        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        DataStreamSource<String> dataSource = env.fromElements(new String("hello world!"));
        dataSource.addSink(new SinkFunction<String>() {
            @Override
            public void invoke(String value) throws Exception {
                LOG.info("输出数据:" value);
            }
        });
        // execute program
        env.execute("Flink Streaming Java API Skeleton");
    }
}

运行此程序得到执行结果如下:

代码语言:javascript复制
11:38:50,863 INFO  jar.StreamingJob                                              - 输出数据:hello world!

参考文章:

  1. Project Template for Java
  2. eclipse中maven项目不显示Maven Dependencies依赖

作者:cosmozhu --90后的老父亲,专注于保护地球的程序员

个人网站:https://www.cosmozhu.fun

欢迎转载,转载时请注明出处。

相关文章

  • Flink-1.9流计算开发:十六、intervalJoin函数
  • Flink-1.9流计算开发:十五、join函数
  • Flink-1.9流计算开发:十四、union函数
  • Flink-1.9流计算开发:十三、min、minBy、max、maxBy函数
  • Flink-1.9流计算开发:十二、apply函数

0 人点赞