数据转换 - map

数据转换使用操作符(operator)将一个或多个数据流转换为新的数据流。转换输入可以是一个或多个数据流,转换输出也可以是零个、一个或多个数据流。程序可以将多个转换组合成复杂的数据流拓扑。

map转换

这是最简单的转换之一,其中输入是一个数据流,输出也是一个数据流。请看下面的示例程序。

Scala代码:

import org.apache.flink.streaming.api.scala._

object TransformerMap{
  def main(args: Array[String]) {
    // 设置流执行环境
    val env = StreamExecutionEnvironment.getExecutionEnvironment

    // 首先从环境中获取一些数据,并使用操作符转换DataStream[String]。比如:
env.fromElements("Good good study", "Day day up")
.map(_.toLowerCase)
.print()

    // 对于流程序,只有执行了下面这个方法,流程序才真正开始执行
    env.execute("flink map transformatiion")
  }
}

Java代码:

import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;

class TransformerMap{

	public static void main(String[] args) throws Exception {
		// 设置流执行环境
		final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

		// 首先从环境中获取一些数据,比如:
		DataStream<String> ds = env.fromElements("Good good study","Day day up");

		// 执行map转换 
		DataStream<String> ds_map = ds.map(String::toLowerCase);  
    
		// 输出结果
		ds_map.print();

		// 对于流程序,只有执行了下面这个方法,流程序才真正开始执行
		env.execute("flink map transformatiion");
	}
}

输出结果如下所示:

good good study
day day up

《PySpark原理深入与编程实战》