有状态功能使Flink与Hbase和Redis交互

问题描述

了解如何使用Flink有状态功能。我想知道它如何与Hbase和Redis交互。我在状态函数中看不到hbase和redis的任何连接器。通过异步api调用通过服务访问它们是否有意义?

解决方法

如果您有兴趣进行点查找(键X的值是什么),则可以在调用该函数期间与任何外部服务联系。

  • 如果您使用的是remote functions,则可以在函数调用期间简单地使用Redis或HBase客户端发出请求。如果您是Python用户,请查看示例here

  • 如果您使用的是embedded functions,则必须为Redis / HBase使用异步客户端。 (许多功能在单个物理线程上多路复用,因此不建议阻塞) 参见thisexample here

我还应该提到,如果可以的话,请使用StateFun中的内置基元。 使用它们将为您提供即席即用的功能,强大的可伸缩性,低延迟的状态访问以及仅一次的消息传递和状态保证。

祝你好运!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...