You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by venn <wx...@163.com> on 2019/07/08 10:47:14 UTC
Scala 异步 io 实现
大佬们好:
在开发Scala 的异步io 的时候遇到点问题,Scala 中没有
RichAsyncFunction(Rich类有open方法,可以做初始化操作 ),Scala 版本的
AsyncFunction 与Java 版本的AsyncFunction不是同一个类,所以不能使用Java 的
RichAsyncFunction,请问各位大佬,怎么实现Scala 的RichAsyncFunction ?
详情如下:
Scala中 使用 AsyncDataStream.orderedWait[IN, OUT:
TypeInformation]( input: DataStream[IN], asyncFunction: AsyncFunction[IN,
OUT], timeout: Long, timeUnit: TimeUnit, capacity: Int) 方法 中的 参数
AsyncFunction 全路径是 :
org.apache.flink.streaming.api.scala.async.AsyncFunction ,但是该类没有对应
的 RichAsyncFunction 的实现。
对应的Java 版本 AsyncDataStream.orderedWait[IN, OUT: TypeInformation](
input: DataStream[IN], asyncFunction: AsyncFunction[IN, OUT], timeout:
Long, timeUnit: TimeUnit, capacity: Int) 中参数 AsyncFunction 的全路径是 :
org.apache.flink.streaming.api.functions.asyn. AsyncFunction, 有对应的
RichAsyncFunction的实现(见下图)。
类:org.apache.flink.streaming.api.functions.async. RichAsyncFunction
非常感谢各位大佬回复
Re: Scala 异步 io 实现
Posted by Lin Li <li...@gmail.com>.
If you can not switch to java AsyncDataStream API, then you can consider
upgrading to flink-1.8.0+, FLINK-6756 has provided RichAsyncFunction to
Scala API.
venn <wx...@163.com> 于2019年7月9日周二 上午9:37写道:
> Thanks for your attention, as your words the "
> org.apache.flink.streaming.api.functions.async.RichAsyncFunction " extend "
> org.apache.flink.streaming.api.functions.asyn.AsyncFunction", but Scala
> AsyncDataStream.orderedWait parameter AsyncFunction full path is "
> org.apache.flink.streaming.api.scala.async.AsyncFunction", there are
> different
>
> -----邮件原件-----
> 发件人: user-zh-return-554-wxchunjhyy=163.com@flink.apache.org
> <us...@flink.apache.org> 代表 Lin Li
> 发送时间: Monday, July 8, 2019 6:51 PM
> 收件人: user-zh@flink.apache.org
> 主题: Re: Scala 异步 io 实现
>
> Your scala asyncFunction can extends
> org.apache.flink.streaming.api.functions.async.RichAsyncFunction directly.
>
> venn <wx...@163.com> 于2019年7月8日周一 下午6:47写道:
>
> > 大佬们好:
> >
> > 在开发Scala 的异步io 的时候遇到点问题,Scala
> > 中没有RichAsyncFunction(Rich类有open方法,可以做初始化操作
> > ),Scala 版本的 AsyncFunction 与Java 版本的AsyncFunction不是同一个类,所以不能使用Java 的
> > RichAsyncFunction,请问各位大佬,怎么实现Scala 的RichAsyncFunction ?
> >
> > 详情如下:
> >
> > *Scala*中 使用 AsyncDataStream.orderedWait[IN, OUT:
> > TypeInformation]( input: DataStream[IN], asyncFunction:
> > *AsyncFunction*[IN, OUT], timeout: Long, timeUnit: TimeUnit,
> > capacity: Int) 方法 中的 参数 AsyncFunction
> > 全路径是 : *org.apache.flink.streaming.api.scala.async*.AsyncFunction
> > ,但是该类没有对应的
> > RichAsyncFunction 的实现。
> >
> >
> >
> > 对应的*Java* 版本 AsyncDataStream.orderedWait[IN, OUT: TypeInformation](
> > input: DataStream[IN], asyncFunction: *AsyncFunction*[IN, OUT], timeout:
> > Long, timeUnit: TimeUnit, capacity: Int) 中参数 AsyncFunction 的全路径是 :
> > *org.apache.flink.streaming.api.functions.asyn*. AsyncFunction, 有对应的
> > RichAsyncFunction的实现(见下图)。
> >
> >
> >
> >
> >
> > 类:org.apache.flink.streaming.api.functions.async. RichAsyncFunction
> >
> >
> >
> >
> >
> >
> >
> > 非常感谢各位大佬回复
> >
>
答复: Scala 异步 io 实现
Posted by venn <wx...@163.com>.
Thanks for your attention, as your words the " org.apache.flink.streaming.api.functions.async.RichAsyncFunction " extend " org.apache.flink.streaming.api.functions.asyn.AsyncFunction", but Scala AsyncDataStream.orderedWait parameter AsyncFunction full path is " org.apache.flink.streaming.api.scala.async.AsyncFunction", there are different
-----邮件原件-----
发件人: user-zh-return-554-wxchunjhyy=163.com@flink.apache.org <us...@flink.apache.org> 代表 Lin Li
发送时间: Monday, July 8, 2019 6:51 PM
收件人: user-zh@flink.apache.org
主题: Re: Scala 异步 io 实现
Your scala asyncFunction can extends
org.apache.flink.streaming.api.functions.async.RichAsyncFunction directly.
venn <wx...@163.com> 于2019年7月8日周一 下午6:47写道:
> 大佬们好:
>
> 在开发Scala 的异步io 的时候遇到点问题,Scala
> 中没有RichAsyncFunction(Rich类有open方法,可以做初始化操作
> ),Scala 版本的 AsyncFunction 与Java 版本的AsyncFunction不是同一个类,所以不能使用Java 的
> RichAsyncFunction,请问各位大佬,怎么实现Scala 的RichAsyncFunction ?
>
> 详情如下:
>
> *Scala*中 使用 AsyncDataStream.orderedWait[IN, OUT:
> TypeInformation]( input: DataStream[IN], asyncFunction:
> *AsyncFunction*[IN, OUT], timeout: Long, timeUnit: TimeUnit,
> capacity: Int) 方法 中的 参数 AsyncFunction
> 全路径是 : *org.apache.flink.streaming.api.scala.async*.AsyncFunction
> ,但是该类没有对应的
> RichAsyncFunction 的实现。
>
>
>
> 对应的*Java* 版本 AsyncDataStream.orderedWait[IN, OUT: TypeInformation](
> input: DataStream[IN], asyncFunction: *AsyncFunction*[IN, OUT], timeout:
> Long, timeUnit: TimeUnit, capacity: Int) 中参数 AsyncFunction 的全路径是 :
> *org.apache.flink.streaming.api.functions.asyn*. AsyncFunction, 有对应的
> RichAsyncFunction的实现(见下图)。
>
>
>
>
>
> 类:org.apache.flink.streaming.api.functions.async. RichAsyncFunction
>
>
>
>
>
>
>
> 非常感谢各位大佬回复
>
Re: Scala 异步 io 实现
Posted by Lin Li <li...@gmail.com>.
Your scala asyncFunction can extends
org.apache.flink.streaming.api.functions.async.RichAsyncFunction directly.
venn <wx...@163.com> 于2019年7月8日周一 下午6:47写道:
> 大佬们好:
>
> 在开发Scala 的异步io 的时候遇到点问题,Scala 中没有RichAsyncFunction(Rich类有open方法,可以做初始化操作
> ),Scala 版本的 AsyncFunction 与Java 版本的AsyncFunction不是同一个类,所以不能使用Java 的
> RichAsyncFunction,请问各位大佬,怎么实现Scala 的RichAsyncFunction ?
>
> 详情如下:
>
> *Scala*中 使用 AsyncDataStream.orderedWait[IN, OUT:
> TypeInformation]( input: DataStream[IN], asyncFunction: *AsyncFunction*[IN,
> OUT], timeout: Long, timeUnit: TimeUnit, capacity: Int) 方法 中的 参数 AsyncFunction
> 全路径是 : *org.apache.flink.streaming.api.scala.async*.AsyncFunction ,但是该类没有对应的
> RichAsyncFunction 的实现。
>
>
>
> 对应的*Java* 版本 AsyncDataStream.orderedWait[IN, OUT: TypeInformation](
> input: DataStream[IN], asyncFunction: *AsyncFunction*[IN, OUT], timeout:
> Long, timeUnit: TimeUnit, capacity: Int) 中参数 AsyncFunction 的全路径是 :
> *org.apache.flink.streaming.api.functions.asyn*. AsyncFunction, 有对应的
> RichAsyncFunction的实现(见下图)。
>
>
>
>
>
> 类:org.apache.flink.streaming.api.functions.async. RichAsyncFunction
>
>
>
>
>
>
>
> 非常感谢各位大佬回复
>