Hi!

1. 直接用 futrue.complate(rowdata) 传递数据,只是实现了发送是异步,异步join 得自己实现,这个理解对吗?


正确。例如 HBaseRowDataAsyncLookupFunction 里就调用了 hbase 提供的 table#get 异步方法实现异步查询。

2. 像join hbase 里面通过线程池实现了join异步,是无法保证顺序,并没有看到任何保证顺序的操作,还是有其他逻辑保证顺序吗?


Async operator 就是为了提高无需保序的操作(例如很多 etl 查维表就不关心顺序)的效率才引入的,如果对顺序有强需求就不能用 async
operator。


陌↓莣言 <greemqq...@163.com> 于2021年12月7日周二 13:06写道:

> deal all:             目前在看table api 中,自定义的异步 join 方法
> AsyncTableFunction#eval 方法时,发现接口提供的是:             public void
> eval(CompletableFuture<Collection<RowData&gt;&gt; future,Object... keys)
> {...} 目前遇到两个问题: 1. 直接用 futrue.complate(rowdata) 传递数据,只是实现了发送是异步,异步join
> 得自己实现,这个理解对吗? 2. 像join hbase
> 里面通过线程池实现了join异步,是无法保证顺序,并没有看到任何保证顺序的操作,还是有其他逻辑保证顺序吗?
> 有各位大佬方便介绍一下吗?或者更详细的文档说明之类的? 非常感谢。

回复