[flink] flink macm1pro 快速使用从零到一

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: [flink] flink macm1pro 快速使用从零到一

快速使用

  1. 打开 https://flink.apache.org/downloads/ 下载 flink

因为书籍介绍的是 1.12版本的,为避免不必要的问题,下载相同版本

  1. 解压
tar -xzvf flink-1.11.2-bin-scala_2.11.tgz

  1. 启动 flink
./bin/start-cluster.sh

  1. 打开 flink web 页面 localhost:8081

  1. 编写结合 Kafka 词频统计程序

具体参考 https://weread.qq.com/web/reader/51032ac07236f8e05107816k1f032c402131f0e3dad99f3?

package org.example;

import org.apache.flink.api.common.serialization.SimpleStringSchema;
import org.apache.flink.api.common.typeinfo.Types;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.windowing.time.Time;
import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer;
import org.apache.flink.util.Collector;

import java.util.Properties;

public class WordCountKafkaInStdOut {

    public static void main(String[] args) throws Exception {

        // 设置Flink执行环境 
        StreamExecutionEnvironment env =
            StreamExecutionEnvironment.getExecutionEnvironment();

        // Kafka参数 
        Properties properties = new Properties();
        properties.setProperty("bootstrap.servers", "localhost:9092");
        properties.setProperty("group.id", "flink-group");
        String inputTopic = "Shakespeare";
        String outputTopic = "WordCount";

        // Source 
        FlinkKafkaConsumer<String> consumer =
            new FlinkKafkaConsumer<String>(inputTopic, new SimpleStringSchema(),
                properties);
        DataStream<String> stream = env.addSource(consumer);

        // Transformation 
        // 使用Flink  API对输入流的文本进行操作 
        // 按空格切词、计数、分区、设置时间窗口、聚合 
        DataStream<Tuple2<String, Integer>> wordCount = stream
            .flatMap((String line, Collector<Tuple2<String, Integer>> collector) -> {
                String[] tokens = line.split("\\s");
                // 输出结果  
                for (String token : tokens) {
                    if (token.length() > 0) {
                        collector.collect(new Tuple2<>(token, 1));
                    }
                }
            })
            .returns(Types.TUPLE(Types.STRING, Types.INT))
            .keyBy(0)
            .timeWindow(Time.seconds(5))
            .sum(1);

        // Sink 
        wordCount.print();

        // execute 
        env.execute("kafka streaming word count");

    }
} 
  1. 打包应用(当然在这之前需要本地调试一下,至少得运行通吧😄)
  2. 使用Flink提供的命令行工具flink,将打包好的作业提交到集群上。命令行的参数 --class 用来指定哪个主类作为入口。
./bin/flink run --class org.example.WordCountKafkaInStdOut xxtarget/flink_study-1.0-SNAPSHOT.jar

class 建议直接拷贝引用

  1. web 页面查看作业提交成功

  1. kafka 生产者随便发点消息

  1. 查看作业日志,词频统计结果

  1. 关闭 flink
./bin/stop-cluster.sh

4ad8d3bd3368a641131a7ae571e1ad34.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
7月前
|
NoSQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之如何在operator里跑flink cdc
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7月前
|
SQL 关系型数据库 Apache
Flink CDC 是一个基于 Apache Flink 的开源库
Flink CDC 是一个基于 Apache Flink 的开源库
245 7
|
7月前
|
资源调度 分布式计算 Kubernetes
Flink(二)【Flink 部署模式】
Flink(二)【Flink 部署模式】
|
资源调度 Java 调度
Flink教程(03)- Flink环境搭建(下)
Flink教程(03)- Flink环境搭建(下)
190 0
|
分布式计算 资源调度 Java
Flink教程(03)- Flink环境搭建(上)
Flink教程(03)- Flink环境搭建(上)
155 0
|
存储 API 调度
10分钟入门Flink--了解Flink
Flink入门系列文章主要是为了给想学习Flink的你建立一个大体上的框架,助力快速上手Flink。学习Flink最有效的方式是先入门了解框架和概念,然后边写代码边实践,然后再把官网看一遍。
10分钟入门Flink--了解Flink
|
分布式计算 Java Scala
|
资源调度 程序员 网络安全
Flink on Yarn三部曲之三:提交Flink任务
Flink on Yarn在使用的时候分为两种模式,Job Mode和Session Mode,一起来体验这两种模式
370 2
Flink on Yarn三部曲之三:提交Flink任务
|
Java 开发工具 流计算
Flink实战-安装及部署
只需几个简单的步骤即可启动并运行Flink示例程序。
711 0
|
SQL 资源调度 Kubernetes
【收藏+下载】Flink 年度学习资料大礼包!
大数据实时计算及 Apache Flink 年度Flink 年度学习资料大礼包,300+页实战应用精华总结!
【收藏+下载】Flink 年度学习资料大礼包!

热门文章

最新文章