我创建了一个Storm拓扑,它使用Jedis库连接到Redis Cluster.Storm组件总是希望Redis启动并运行,然后才连接到Redis并订阅事件.目前我们使用Redis的pub-sub策略.
下面是代码示例,它解释了Storm中为Redis提供的Jedis连接.
try {
jedis.psubscribe(listener, pattern);
} catch(Exception ex) {
//catch statement here.
} finally {
pool.returnResource(jedis);
}
....
pool = new JedisPool(new JedisPoolConfig(), host, port); //redis host port
ListenerThread listener = new ListenerThread(queue, pool, pattern);
listener.start();
Run Code Online (Sandbox Code Playgroud)
预期的行为
一旦Redis去世并重新上线,预计Storm将确定Redis的状态.如果Redis死机并上线,则无需重启.
实际行为
一旦Redis因任何原因重新启动,我总是必须重新启动Storm拓扑,然后才开始收听Redis.
题
Redis重启后,如何让Storm监听并重新连接到Redis?任何指导将不胜感激,即.docs,论坛答案.
我想知道kafka集群中获取的代理ID列表.例如,在具有10个节点的集群中,如果我创建一个包含10个分区(或更多)的主题,我可以从describe topic命令的输出中看到已分配它的代理.
./bin/kafka-topics --describe --zookeeper <zkconnect>:2181 --topic rbtest3
Run Code Online (Sandbox Code Playgroud)
我可以在不创建主题的情况下收集此信息吗?
我正在尝试抓取包含有关公司子公司信息的PDF。我看过很多使用 R 包 Tabulizer 的帖子,但不幸的是,由于某些原因,这在我的 Mac 上不起作用。由于 Tabulizer 使用 Java 依赖项,我尝试安装不同版本的 Java (6-13),然后重新安装软件包,但仍然无法正常工作(当我运行extract_tablesR 会话时会发生什么情况)。
我需要从第 19 页开始抓取整个 pdf 并构建一个显示公司名称及其子公司的表格。在 pdf 中,名称以任何字母/数字/符号开头,而子公司以单点或双点开头。
所以我尝试使用pdftools和pdftables包装。下面的代码提供了一个类似于第 19 页上的表格:
library(pdftools)
library(pdftables)
library(tidyverse)
tt = pdf_text("~/DATA/978-1-912036-41-7-Who Owns Whom UK-Ireland-Volume-1.pdf")
df <- tt[19]
df2 <- strsplit(df, ' ')
df3 <-as.data.frame(do.call(cbind, df2)) %>%
filter(V1!="") %>%
mutate(V2=str_split_fixed(V1, "England . ", 2)) %>%
mutate(V3=str_split_fixed(V1, "England", 2)) %>%
select(V2,V3,V1) %>%
mutate(V1=ifelse(V1==V3,"",V1),V3=ifelse(V3==V2,"",V3)) %>%
select(V3,V2,V1) %>%
mutate_at(c("V1"), funs(lead), n = 1 ) %>% …Run Code Online (Sandbox Code Playgroud)