def map(self, func): """ Applies a Map transformation on a :class:`DataStream`. The transformation calls a :class:`ray.streaming.function.MapFunction` for each element of the DataStream. Args: func: The MapFunction that is called for each element of the DataStream. If `func` is a python function instead of a subclass of MapFunction, it will be wrapped as SimpleMapFunction. Returns: A new data stream transformed by the MapFunction. """ if not isinstance(func, function.MapFunction): func = function.SimpleMapFunction(func) j_func = self._gateway_client().create_py_func( function.serialize(func)) j_stream = self._gateway_client(). \ call_method(self._j_stream, "map", j_func) return DataStream(self, j_stream)
def test_create_operator(): map_func = function.SimpleMapFunction(lambda x: x) map_operator = operator.create_operator(map_func) assert type(map_operator) is operator.MapOperator