Flink DataStream

一、读取数据

1.1、从内存中读取

DataStreamSource<Integer> ds = env.fromElements(1, 2, 3, 4);
DataStreamSource<Integer> source = env.fromCollection(Arrays.asList(1, 2, 3));

1.2、从文件中读取

从文件中读取需要引入相应的POM依赖

<dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-connector-files</artifactId>
            <version>1.17.0</version>
        </dependency>
FileSource<String> fileSource = FileSource.forRecordStreamFormat(new TextLineInputFormat(), new Path("input/word.txt")).build();
        env.fromSource(fileSource, WatermarkStrategy.noWatermarks(), "filesource").print();

1.3、从kafka中读取

从kafka中读取需要引入相应的POM依赖

<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-kafka</artifactId>
    <version>1.17.0</version>
</dependency>
KafkaSource<String> dataSource = KafkaSource.<String>builder()
                .setBootstrapServers("hadoop1,hadoop2")
                .setGroupId("消费者组")
                .setTopics("队列")
                .setValueOnlyDeserializer(new SimpleStringSchema())
                .setStartingOffsets(OffsetsInitializer.latest())
                .build();

1.4、使用datagen生成数据

官方提供的数据生成方式

<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-datagen</artifactId>
    <version>1.17.0</version>
</dependency>
DataGeneratorSource<String> dataGeneratorSource = new DataGeneratorSource<>(
                // 数据
                aLong -> "Number:" + aLong,
                // 数据条数
                10,
                // 数据生成频率
                RateLimiterStrategy.perSecond(1),
                // 返回的数据类型
                Types.STRING);
        env.fromSource(dataGeneratorSource, WatermarkStrategy.noWatermarks(), "data-generator").print();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值