我如何使用 Spark 在 Zeppelin 中定期刷新? (Java)

How can I periodically refresh in Zeppelin with Spark? (Java)

我正在尝试使用 Java 使用 Zeppelin 和 Spark 制作仪表板。
假设我的数据将保存在 /tmp/mydir.
由于我的数据是实时数据,即使 Zeppelin 显示 /tmp/mydir.
中数据的一些结果,也会保存越来越多的数据 但我想做的是实时仪表板,这意味着仪表板应该定期重新计算 /tmp/mydir.
中数据的结果 这是因为 /tmp/mydir 中的数据量不断增长。
假设我将对 /tmp/mydir.
中的数据使用简单的 count() 函数 如何让 Zeppelin 每 60 秒在 /tmp/mydir 中对数据执行 count()
我唯一想知道的是如何让 Zeppelin 定期在同一目录(但增加数据)上执行相同的功能。
谢谢!!!

谢谢提问!!我认为有多种方法可以做到这一点。您可以根据自己的情况选择suitable/applicable。

  1. 使用 cron 调度程序选项:Zeppelin 提供了 cron 调度程序选项。使用此功能,您可以定期安排 运行 特定的 Zeppelin 笔记本。可以在此处找到有关启用此选项的详细信息 - https://zeppelin.apache.org/docs/0.8.0/usage/other_features/cron_scheduler.html

  2. 使用 Zeppelin API:您可以从外部调度程序调度以执行 Zeppelin notebook 中包含您的查询的所有段落。您需要先登录 Zeppelin API,从 cookie 中获取 Jsession ID,然后调用 API 到 运行 Zeppelin Notebook。可以在这些链接中找到更多详细信息 - https://community.hortonworks.com/questions/52840/authentication-with-the-zeppelin-rest-api.html, https://zeppelin.apache.org/docs/0.8.0/usage/rest_api/notebook.html