增加nifi对cql的请求超时

zpgglvta  于 2021-06-14  发布在  Cassandra
关注(0)|答案(2)|浏览(360)

我在nifi中使用querycassandra处理器从cassandra获取数据,但是我的查询得到timedoutexception。我想在从处理器运行cql查询时增加请求超时。有没有办法做到这一点,否则我将不得不写一个自定义处理器?

t5fffqht

t5fffqht1#

正如@alex ott所说,不建议查询非分区密钥。如果仍要这样做并增加查询的超时时间,只需属性 Max Wait Time 你想要什么时间都行。
编辑:
热释光;dr:apache的timeout Package 器并不真正允许您使用timeout选项。
既然你提到这是一个税收例外 java.util.concurrent.TimeoutException ,我可以告诉你我已经调查了 QueryCassandra 处理器的源代码,看起来apache只是用 Future 以实现超时,而不是使用datastax的内置超时选项。这将导致datastax驱动程序默认的不可更改超时。它应该作为一个bug报告给apache。

kulphzqa

kulphzqa2#

很可能是因为对非分区键执行查询而出现异常—在本例中,查询被分发到所有节点,并且需要遍历所有可用的数据,如果您有大数据集,这将非常慢。
在cassandra中,只有在(至少)分区键上执行查询时,查询才会很快。如果需要搜索非分区列,那么需要重新建模表以匹配查询。为了更好地理解Cassandra的工作原理,我建议参加税务学院的ds220课程。

相关问题