Para preparação ambiental, consulte: https://blog.51cto.com/mapengfei/2546985
Leia os dados da coleção
Crie um novo pacote, com.mafei.apitest, crie uma nova classe de objeto scala,
package com.mafei.apitest
import org.apache.flink.api.scala.createTypeInformation
import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
//获取传感器数据
case class SensorReading(id: String,timestamp: Long, temperature: Double)
object SourceTest {
def main(args: Array[String]): Unit = {
//创建执行环境
val env = StreamExecutionEnvironment.getExecutionEnvironment
// 1、从集合中读取数据
val dataList = List(
SensorReading("sensor1",1603766281,41),
SensorReading("sensor2",1603766282,42),
SensorReading("sensor3",1603766283,43),
SensorReading("sensor4",1603766284,44)
)
val stream1 = env.fromCollection(dataList)
stream1.print()
//执行
env.execute(" source test")
}
}
代码 目录 图 :
运行 效果
SLF4J: Falha ao carregar a classe "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Implementação do logger sem operação (NOP)
padrão SLF4J: Consulte http://www.slf4j.org/codes.html#StaticLoggerBinder para obter mais detalhes.
2> SensorReading (sensor3,1603766283,43.0)
4> SensorReading (sensor1,1603766281,41.0)
3> SensorReading (sensor4,1603766284,44.0)
1> SensorReading (sensor2,1603766282,42.0)
Leia os dados do arquivo
Como na primeira etapa, crie um novo pacote, com.mafei.apitest, crie uma nova classe de objeto scala,
package com.mafei.apitest
import org.apache.flink.api.scala.createTypeInformation
import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
//获取传感器数据
case class SensorReading(id: String,timestamp: Long, temperature: Double)
object SourceTest {
def main(args: Array[String]): Unit = {
//创建执行环境
val env = StreamExecutionEnvironment.getExecutionEnvironment
//从文件中读取数据
val stream2= env.readTextFile("/opt/java2020_study/maven/flink1/src/main/resources/sensor.txt")
stream2.print()
//执行
env.execute(" source test")
}
}
Crie um novo sensor.txt no diretório de recursos e escreva o seguinte
sensor de conteúdo1,1603766281,41
sensor2,1603766282,42
sensor3,1603766283,43
sensor4,1603766284,44
Diagrama da estrutura do código:
Efeito de execução de código:
1> sensor1,1603766281,41
1> sensor2,1603766282,42
2> sensor3,1603766283,43
3> sensor4,1603766284,44