了解如何使用Flink有状态功能。我想知道它如何与Hbase和Redis交互。我在状态函数中看不到hbase和redis的任何连接器。通过异步api调用通过服务访问它们是否有意义?
答案 0 :(得分:0)
如果您有兴趣进行点查找(键X的值是什么),则可以在调用该函数期间与任何外部服务联系。
如果您使用的是remote functions,则可以在函数调用期间简单地使用Redis或HBase客户端发出请求。如果您是Python用户,请查看示例here。
如果您使用的是embedded functions,则必须为Redis / HBase使用异步客户端。 (许多功能在单个物理线程上多路复用,因此不建议阻塞) 参见this和example here
我还应该提到,如果可以的话,请使用StateFun中的内置基元。 使用它们将为您提供即席即用的功能,强大的可伸缩性,低延迟的状态访问以及仅一次的消息传递和状态保证。
祝你好运!