如何与客户共享Databricks Spark Notebook报告/仪表板?

时间:2017-12-04 20:06:05

标签: apache-spark apache-zeppelin databricks

我已经使用zeppelin几个月了。它是内部数据分析的绝佳工具。我正在寻找更多与客户共享报告的功能。我需要向客户发送每周/每月/每季度报告。寻找一种自动化此过程的方法。 如果Databricks Spark Notebook或任何其他工具具有帮助我这样做的功能,请告诉我。

2 个答案:

答案 0 :(得分:1)

您可以使用databricks仪表板。获得仪表板后,您可以对仪表板执行HTML导出并将HTML文件共享给公众。

如果您对自动化报告流程感兴趣,可能需要查看databricks REST API:https://docs.databricks.com/api/latest/jobs.html#runs-export。您需要传递笔记本作业的run_id和所需的views_to_export(此值应为DASHBOARD)作为查询参数。请注意,此运行导出仅支持笔记本作业导出,这是精细的仪表板通常从笔记本作业生成。

如果您的databricks HTML仪表板导出成功,您将获得"views" JSON响应,该响应由键值对对象列表组成,您的HTML字符串将在{{1}下可用键入每个对象。然后,您可以对此HTML字符串执行任何操作,您可以将其直接发送到email / slack以进行自动报告。

为了生成"content",您首先需要创建一个笔记本作业,您可以通过databricks UI执行此操作。然后,您可以通过以下任一方式触发笔记本作业来获取run_id

  1. 使用数据库调度程序或
  2. 现在使用databricks运行作业REST API:https://docs.databricks.com/api/latest/jobs.html#run-now
  3. 我更喜欢使用第二种方法,并通过REST API以编程方式运行作业,因为我在运行作业时总能找到run_id,这与我必须查看databricks UI的第一种方法不同工作计划运行的时间。无论哪种方式,您必须等待笔记本作业运行完成才能运行笔记本作业导出,以便成功地以HTML格式获取完整的数据库仪表板。

答案 1 :(得分:-1)

您可以尝试以可通过互联网访问的方式托管您的实例吗?