flink数据格式转换,DataStream转换成指定对象

flink实时流学习项目介绍:

       目前在个某市商业银行做实时数据展示、数据处理;项目中使用到flink框架,进行数据加工处理。针对使用到的几个业务场景,和目前学习的flink阶段自己搭建了一个实时数据加工的处理项目。
目前处在学习、整理、分享的阶段,并不具备成型、系统的理念;本次介绍的是,在flink进行数据格式的转换,为数据的统计、对比、计算奠定基础。

       使用maven构建进行项目管理,idea开发工具、JDK1.8的java环境、数据包采用的某培训机构使用的温度传感器模拟数据sensor.txt数据文件包。该项目已上传到码云,项目地址是:flink项目地址https://gitee.com/wuzheyi520/flink_java_api_test.git


问题描述:

       flink通过source加载的数据,一般是通过DataStream进行的数据接收;较早版本的flink使用的scala,java语言的示例比较少,所以就写一篇记录,供自己以后进行查阅;也分享出来,给需要的人使用。


一、项目目录结构:

项目目录结构如下图所示,目前只是对单个API进行介绍,所以写在不同main函数中,便于进行数据的调试、加工处理;划线的地方分别是:java类,数据文件。在这里插入图片描述


二、TransformDataTest_Map 类中的代码:

这里直接给出类中全部的代码,可以直接运行main函数,查看数据格式的转换。

1.其中readTextFile方法是加载数据源中的数据,该种方式能够减少搭建kafka的工作量,方便演示。

 DataStreamSource<String> stringDataStreamSource = environment.readTextFile(filePath);

2.通过DataStream.map()方法进行数据格式的转换,在该方法中,通过MapFunction进行处理,重写类中的方法。其中MapFunction<String,Map<String,Object>>该方法中的第1个类型String,表示数据的输入类型,也就是DataStream<T>中的类型T;第2个类型Map<Stirng,Object>表示的是:目标类型,也可以是自定义类。

/**
	*MapFunction(){},是转换成单条数据,
	*FlatMapFunction(){},是将数据放到一个Collection集合中进行返回*/
 SingleOutputStreamOperator<Map<String, Object>> mapStreamOperator = stringDataStreamSource.map(new MapFunction<String, Map<String, Object>>() {
   
            @Override
            public Map<String, Object>
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值