Re:Re: 关于异步 AsyncTableFunction CompletableFuture 的疑问?

2021-12-06 文章 Michael Ran
好的,谢谢,我这边尝试下异步保证顺序,我们这边有些场景
在 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 的疑问

2021-12-06 文章 Caizhi Weng
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 的疑问?

2021-12-06 文章 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异步,是无法保证顺序,并没有看到任何保证顺序的操作,还是有其他逻辑保证顺序吗?
>
>
> 有各位大佬方便介绍一下吗?或者更详细的文档说明之类的?
> 非常感谢。
>


关于异步 AsyncTableFunction CompletableFuture 的疑问?

2021-12-06 文章 Michael Ran
deal all:
目前在看table api 中,自定义的异步 join 方法 AsyncTableFunction#eval 方法时,发现接口提供的是:
public void eval(CompletableFuture> 
future,Object... keys) {...}


目前遇到两个问题:


1. 直接用 futrue.complate(rowdata) 传递数据,只是实现了发送是异步,异步join 得自己实现,这个理解对吗?
2. 像join hbase 里面通过线程池实现了join异步,是无法保证顺序,并没有看到任何保证顺序的操作,还是有其他逻辑保证顺序吗?


有各位大佬方便介绍一下吗?或者更详细的文档说明之类的?
非常感谢。