一、DataStream数据基本概述
1.1 datastream数据是什么?
datastream数据是flink提供给用户使用的用于进行流计算和批处理的api,是对底层流式计算模型的api封装,便于用户编程。
1.2 datastream运行模型
一个完整的数据流运行模型一般由三部分组成,分别为源、转换、Sink.DataSource主要负责数据的读取(也就是从数据源读取,可以批数据源,也可以是流式数据数据源),转换主要负责对属于的转换操作(也就是正常的业务处逻辑),沉负责最终数据的输出(计算结果的导出)。
1.3 datastream数据程序架构
一般来说,使用datastream数据api编写flink程序,包括以下流程:
1,获得一个执行环境;(执行环境)
2,加载/创建初始数据;(源)
3,指定转换这些数据;(转换)
4,指定放置计算结果的位置;(下沉)
5,触发程序执行(这是流式计算必须的操作,如果是批处理则不需要)
二,DataStream数据api的使用
2.1 maven依赖配置
<代码> & lt; ?xml version=" 1.0 " encoding=" utf - 8 " ?比; & lt;项目xmlns=" http://maven.apache.org/POM/4.0.0 " xmlns: xsi=" http://www.w3.org/2001/XMLSchema-instance " xsi: schemaLocation=" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”比; & lt; modelVersion> 4.0.0 & lt; groupId> SparkDemo & lt; artifactId> SparkDemoTest & lt; version> 1.0 -snapshot & lt; properties> & lt; project.build.sourceEncoding> UTF-8 & lt; scala.version> 2.11.8 & lt; hadoop.version> 2.7.3 & lt; scala.binary.version> 2.11 & lt;/scala.binary.version> & lt; flink.version> 1.6.1 & lt;/properties> & lt; dependencies> & lt; dependency> & lt; groupId> org.apache.hadoop & lt; artifactId> hadoop-client & lt; version> $ {hadoop.version} & lt;/version> & lt;/dependency> & lt; dependency> & lt; groupId> mysql & lt; artifactId> mysql-connector-java & lt; version> 8.0.12 & lt;/dependency> & lt; dependency> & lt; groupId> junit & lt; artifactId> junit & lt; version> 4.12 & lt;/version> & lt;/dependency> & lt; dependency> & lt; groupId> org.apache.logging.log4j & lt; artifactId> log4j-core & lt; version> 2.9.0 & lt;/dependency> & lt; !——flink祝辞 & lt; !——https://mvnrepository.com/artifact/org.apache.flink/flink-java——比; & lt; dependency> & lt; groupId> org.apache.flink & lt; artifactId> flink-java & lt; version> 1.6.1 & lt;/dependency> & lt; !——https://mvnrepository.com/artifact/org.apache.flink/flink-streaming-java——比; & lt; dependency> & lt; groupId> org.apache.flink & lt; artifactId> flink-streaming-java_2.11 & lt; version> 1.6.1 & lt; !——& lt; scope> provided——比; & lt;/dependency> & lt; !——https://mvnrepository.com/artifact/org.apache.flink/flink-streaming-scala——比; & lt; dependency> & lt; groupId> org.apache.flink & lt; artifactId> flink-streaming-scala_2.11 & lt; version> 1.6.1 & lt;/dependency> & lt; !——https://mvnrepository.com/artifact/org.apache.flink/flink-scala——比; & lt; dependency> & lt; groupId> org.apache.flink & lt; artifactId> flink-scala_2.11 & lt; version> 1.6.1 & lt;/dependency> & lt; !——https://mvnrepository.com/artifact/org.apache.flink/flink-clients——比; & lt; dependency> & lt; groupId> org.apache.flink & lt; artifactId> flink-clients_2.11 & lt; version> 1.6.1 & lt;/dependency> & lt; !——https://mvnrepository.com/artifact/org.apache.flink/flink-table——比; & lt; dependency> & lt; groupId> org.apache.flink & lt; artifactId> flink-table_2.11 & lt; version> 1.6.1 & lt; scope> provided & lt;/dependency> & lt; dependency> & lt; groupId> org.apache.hadoop & lt; artifactId> hadoop-client三,flink——DataStreamAPI原理以及用法