在Windows上安装

  • 官方网站下载需要的二进制包
  • 比如我下载的是flink-1.2.0-bin-hadoop2-scala_2.10.tgz,解压后进入bin目录
  • 可以执行bat文件,也可以使用cygwin执行sh文件

创建和执行wordcount示例程序

使用idea新建一个Maven工程

我这里使用Intellij IDEA进行开发

  • 使用"new project"创建一个maven工程

  • 指定示例程序的groupId和artifactId

  • 指定示例程序的工程名和路径

  • 在pom.xml添加依赖关系,更新后IDEA会自动下载jar包至本地仓库 (由于markdown解析问题,换成图片)

  • 创建一个wordcountexample类文件

示例程序解读

  • 基本同标准的Java程序类似,并且含有一个main()方法。每个程序基本由以下5个部分组成:
  • 获取一个ExecutionEnvironment
  • 载入或者创建初始输入数据
  • 指定数据变换的方式
  • 制定计算后的数据输出位置
  • 程序执行
  • 对照上面的WordCountExample
  • 获取一个ExecutionEnvironment

    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();

  • 初始数据:

        DataSet<String> text = env.fromElements(
"Who's there?",
"I think I hear them. Stand, ho! Who's there?");
  • 变换方式:
        DataSet<Tuple2<String, Integer>> wordCounts = text
.flatMap(new LineSplitter())
.groupBy(0)
.sum(1);
  • 输出方式
        wordCounts.print();
  • 程序执行
        env.execute("Word Count Example");

本地执行

  • 直接使用菜单栏上的Build进行编译,使用Run执行程序
  • 若直接按照样例执行,可能出现以下错误:
Exception in thread "main" java.lang.RuntimeException: No new data sinks have been defined since the last execution. The last execution refers to the latest call to 'execute()', 'count()', 'collect()', or 'print()'.
  • 参照此文,原因是print()方法自动会调用execute()方法,造成错误,所以注释掉env.execute()即可

上传flink后台运行

  • 首先build jar包,注意将META-INF目录放在src/main/java/resource目录下,否则可能出现找不到main class的问题
  • 将jar包上传至flink后台

  • 点击提交之后,可以将任务提交给后台执行,执行完成后可以看到执行统计信息。

--EOF--

Flink实战(1) - Apache Flink安装和示例程序的执行的更多相关文章

  1. windows下flink示例程序的执行

    1.什么是flink Apache Flink® - Stateful Computations over Data Streams 2.启动 下载地址  我下载了1.7.2 版本  解压到本地文件目 ...

  2. libev安装与示例程序编译运行

    Linux平台C网络编程,之前总是看各大名著(如UNIX环境高级编程和UNIX网络编程,还有TCP/IP详解 卷1:协议和深入理解计算机系统(原书第2版)),同时写点小程序练习.然而还是拿不出手. 参 ...

  3. ubuntu 16.04 上opengl 的安装以及例子程序编译执行

    因为最近在移植 Qt5.7 + opengl , 遇到了难以越过的山峰,没有办法,试着在 ubuntu 16.04上将 opengl 配置以下,记录: 安装相关的库: sudo apt-get ins ...

  4. Apache Flink

    Flink 剖析 1.概述 在如今数据爆炸的时代,企业的数据量与日俱增,大数据产品层出不穷.今天给大家分享一款产品—— Apache Flink,目前,已是 Apache 顶级项目之一.那么,接下来, ...

  5. Apache Flink 介绍

    原文地址:https://mp.weixin.qq.com/s?__biz=MzU2Njg5Nzk0NQ==&mid=2247483660&idx=1&sn=ecf01cfc8 ...

  6. Apache Flink 1.9 重大特性提前解读

    今天在 Apache Flink meetup ·北京站进行 Flink 1.9 重大新特性进行了讲解,两位讲师分别是 戴资力/杨克特,zhisheng 我也从看完了整个 1.9 特性解读的直播,预计 ...

  7. Apache Flink 1.9重磅发布!首次合并阿里内部版本Blink重要功能

    8月22日,Apache Flink 1.9.0 版本正式发布,这也是阿里内部版本 Blink 合并入 Flink 后的首次版本发布.此次版本更新带来的重大功能包括批处理作业的批式恢复,以及 Tabl ...

  8. Apache Flink 为什么能够成为新一代大数据计算引擎?

    众所周知,Apache Flink(以下简称 Flink)最早诞生于欧洲,2014 年由其创始团队捐赠给 Apache 基金会.如同其他诞生之初的项目,它新鲜,它开源,它适应了快速转的世界中更重视的速 ...

  9. apache flink源码挖坑 (未完待续)

    Apache Flink 源码解读(一) ​ By yyz940922原创 项目模块 (除去.git, .github, .idea, docs等): flink-annotations: flink ...

随机推荐

  1. Linux 查看dns运行状态

    命令:dig  www.baidu.com #测试解析 安装:yum install bind-utils @<服务器地址>:指定进行域名解析的域名服务器: -b<ip地址>: ...

  2. SpringIOC和AOP原理 设计模式

    SpringIOC的特点 在接触Spring的过程中,听到最多的无非两个名词,一个是控制反转一个是依赖注入.实际这是一个意思,控制反转代表原来由程序本身去控制对象之间的依赖关系的这种格局被反转了,通过 ...

  3. Linux查看服务器硬件配置命令

    一.查看服务器硬件信息 dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product|Seria ...

  4. docker从容器里面拷文件到宿主机或从宿主机拷文件到docker容器里面

    1.从容器里面拷文件到宿主机? 答:在宿主机里面执行以下命令 docker cp 容器名:要拷贝的文件在容器里面的路径       要拷贝到宿主机的相应路径 示例: 假设容器名为testtomcat, ...

  5. java基础 (一)之HashMap

    HashMap的存储结构是由数组和链表共同完成.Entry<K,V>[] ,Entry是单向链表. 1 HashMap数据结构 HashMap的底层主要是基于数组和链表来实现的,它之所以有 ...

  6. apache kafka技术分享系列(目录索引)

    https://blog.csdn.net/lizhitao/article/details/39499283 https://blog.csdn.net/lizhitao

  7. Spring Boot系列一:默认日志logback配置解析

    前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如何使用? 正文 Sp ...

  8. docker 安装mysql示例

    docker pull mysql 错误的启动: [root@localhost ~]# docker run --name mysql01 -d mysql 42f09819908bb72dd99a ...

  9. guxh的python笔记八:特殊方法

     1,类的特殊方法  新建一个类,本章内容中的特殊方法如果不创建类或新增方法,默认使用的就是下面的类: class Foo: """this is Foo"&q ...

  10. 微信小程序Promise对象

    Promise 对象 Promise 的含义 基本用法 Promise.prototype.then() Promise.prototype.catch() Promise.prototype.fin ...