Re:Re: 关于异步 AsyncTableFunction CompletableFuture 的疑问?
好的,谢谢,我这边尝试下异步保证顺序,我们这边有些场景 在 2021-12-07 14:17:51,"Caizhi Weng" 写道: >Hi! > >1. 直接用 futrue.complate(rowdata) 传递数据,只是实现了发送是异步,异步join 得自己实现,这个理解对吗? > > >正确。例如 HBaseRowDataAsyncLookupFunction 里就调用了 hbase 提供的 table#get 异步方法实现异步查询。 > >2. 像join hbase 里面通过线程池实现了join异步,是无法保证顺序,并没有看到任何保证顺序的操作,还是有其他逻辑保证顺序吗? > > >Async operator 就是为了提高无需保序的操作(例如很多 etl 查维表就不关心顺序)的效率才引入的,如果对顺序有强需求就不能用 async >operator。 > >Michael Ran 于2021年12月7日周二 10:33写道: > >> deal all: >> 目前在看table api 中,自定义的异步 join 方法 AsyncTableFunction#eval >> 方法时,发现接口提供的是: >> public void eval(CompletableFuture> >> future,Object... keys) {...} >> >> >> 目前遇到两个问题: >> >> >> 1. 直接用 futrue.complate(rowdata) 传递数据,只是实现了发送是异步,异步join 得自己实现,这个理解对吗? >> 2. 像join hbase 里面通过线程池实现了join异步,是无法保证顺序,并没有看到任何保证顺序的操作,还是有其他逻辑保证顺序吗? >> >> >> 有各位大佬方便介绍一下吗?或者更详细的文档说明之类的? >> 非常感谢。 >>
Re: 关于异步 AsyncTableFunction CompletableFuture 的疑问
Hi! 1. 直接用 futrue.complate(rowdata) 传递数据,只是实现了发送是异步,异步join 得自己实现,这个理解对吗? 正确。例如 HBaseRowDataAsyncLookupFunction 里就调用了 hbase 提供的 table#get 异步方法实现异步查询。 2. 像join hbase 里面通过线程池实现了join异步,是无法保证顺序,并没有看到任何保证顺序的操作,还是有其他逻辑保证顺序吗? Async operator 就是为了提高无需保序的操作(例如很多 etl 查维表就不关心顺序)的效率才引入的,如果对顺序有强需求就不能用 async operator。 陌↓莣言 于2021年12月7日周二 13:06写道: > deal all: 目前在看table api 中,自定义的异步 join 方法 > AsyncTableFunction#eval 方法时,发现接口提供的是: public void > eval(CompletableFuture {...} 目前遇到两个问题: 1. 直接用 futrue.complate(rowdata) 传递数据,只是实现了发送是异步,异步join > 得自己实现,这个理解对吗? 2. 像join hbase > 里面通过线程池实现了join异步,是无法保证顺序,并没有看到任何保证顺序的操作,还是有其他逻辑保证顺序吗? > 有各位大佬方便介绍一下吗?或者更详细的文档说明之类的? 非常感谢。
Re: 关于异步 AsyncTableFunction CompletableFuture 的疑问?
Hi! 1. 直接用 futrue.complate(rowdata) 传递数据,只是实现了发送是异步,异步join 得自己实现,这个理解对吗? 正确。例如 HBaseRowDataAsyncLookupFunction 里就调用了 hbase 提供的 table#get 异步方法实现异步查询。 2. 像join hbase 里面通过线程池实现了join异步,是无法保证顺序,并没有看到任何保证顺序的操作,还是有其他逻辑保证顺序吗? Async operator 就是为了提高无需保序的操作(例如很多 etl 查维表就不关心顺序)的效率才引入的,如果对顺序有强需求就不能用 async operator。 Michael Ran 于2021年12月7日周二 10:33写道: > deal all: > 目前在看table api 中,自定义的异步 join 方法 AsyncTableFunction#eval > 方法时,发现接口提供的是: > public void eval(CompletableFuture> > future,Object... keys) {...} > > > 目前遇到两个问题: > > > 1. 直接用 futrue.complate(rowdata) 传递数据,只是实现了发送是异步,异步join 得自己实现,这个理解对吗? > 2. 像join hbase 里面通过线程池实现了join异步,是无法保证顺序,并没有看到任何保证顺序的操作,还是有其他逻辑保证顺序吗? > > > 有各位大佬方便介绍一下吗?或者更详细的文档说明之类的? > 非常感谢。 >
关于异步 AsyncTableFunction CompletableFuture 的疑问?
deal all: 目前在看table api 中,自定义的异步 join 方法 AsyncTableFunction#eval 方法时,发现接口提供的是: public void eval(CompletableFuture> future,Object... keys) {...} 目前遇到两个问题: 1. 直接用 futrue.complate(rowdata) 传递数据,只是实现了发送是异步,异步join 得自己实现,这个理解对吗? 2. 像join hbase 里面通过线程池实现了join异步,是无法保证顺序,并没有看到任何保证顺序的操作,还是有其他逻辑保证顺序吗? 有各位大佬方便介绍一下吗?或者更详细的文档说明之类的? 非常感谢。