如何将炫酷的报表直接截图发送邮件——在Superset 0.37使用Schedule Email功能

Superset的图表是非常炫酷的,但是原来的版本只能在web端查看,而最新的0.37版本,可以将图表截图直接发送成邮件,非常的方便。
本文将详细介绍Superset 0.37 定时邮件功能。安装过程遇到的任何问题请关注 “实时流式计算” 随时与我联系。所有的离线安装包已经整理好,请后台回复 “superset0928” 下载。
开启邮件功能
superset 0.37的电子邮件功能 默认是关闭的
电子邮件功能允许用户对以下两种电子邮件进行报告:
图表和仪表板(附件或嵌在邮件之中)
图表数据(CSV附件)
vi config.py
开启邮件功能
ENABLE_SCHEDULED_EMAIL_REPORTS = True
要发送电子邮件 还需要配置一下SMTP
EMAIL_NOTIFICATIONS = True
SMTP_HOST = "email-smtp.eu-west-1.amazonaws.com"
SMTP_STARTTLS = True
SMTP_SSL = False
SMTP_USER = "smtp_username"
SMTP_PORT = 25
SMTP_PASSWORD = os.environ.get("SMTP_PASSWORD")
SMTP_MAIL_FROM = "insights@komoot.com"
启动前记得执行 superset init 否则可能看不到菜单
这时候再登录superset,我们可以看到在Manage下有两个新的菜单了
Dashboard Emails 和 Chart Email Schedules

配置Celery
邮件功能需要使用Celery进行定时调度,为了开启Celery,需要在config.py中进行配置。
class CeleryConfig(object):
BROKER_URL = 'redis://localhost:6379/0'
CELERY_IMPORTS = (
'superset.sql_lab',
'superset.tasks',
)
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
CELERYD_LOG_LEVEL = 'DEBUG'
CELERYD_PREFETCH_MULTIPLIER = 10
CELERY_ACKS_LATE = True
CELERY_ANNOTATIONS = {
'sql_lab.get_sql_results': {
'rate_limit': '100/s',
},
'email_reports.send': {
'rate_limit': '1/s',
'time_limit': 120,
'soft_time_limit': 150,
'ignore_result': True,
},
}
CELERYBEAT_SCHEDULE = {
'email_reports.schedule_hourly': {
'task': 'email_reports.schedule_hourly',
'schedule': crontab(minute=1, hour='*'),
},
}
CELERY_CONFIG = CeleryConfig
随后启动celery worker和celery beat
celery worker --app=superset.tasks.celery_app:app --pool=prefork -O fair -c 4
celery beat --app=superset.tasks.celery_app:app
为了更好地监控Celery,建议大家安装flower,这是一个celery的监控,可以清楚的看到celery任务的执行情况。
pip install flower
celery flower --app=superset.tasks.celery_app:app
flower页面:

安装浏览器驱动
为了可以渲染看板,需要在superset所在环境下本地安装浏览器驱动。
驱动的类型在config.py中配置
EMAIL_REPORT_WEBDRIVER = "chrome"
这里安装chrome
从google官方网站下载google chrome安装包
http://www.google.cn/chrome/browser/desktop/index.html
选择linux系统,并下载google-chrome-stable_current_x86_64.rpm
安装:rpm -ivh google-chrome-stable_current_x86_64.rpm
再安装chromedriver
http://chromedriver.chromium.org/
unzip chromedriver_linux64.zip
mv chromedriver /usr/bin/
清注意两者版本一定要保证一致
安装成功输入 chrome 和 chromedriver验证一下
发送邮件
准备工作做好以后,就可以新建一个邮件发送任务了。
发送看板:

可以选择发送的看板,crontab表达式,邮箱,是否发送测试邮件,内联还是附件。。
也可以选择发送图表:

可以选择发送原始数据。
最后,在邮件中接收到看板和图表了~
邮件看板:

邮件图表:

原始数据:

常见错误
接收不到邮件,也没有看到错误提示
请仔细查看celery worker的log日志,如果发送失败会有错误提示。
可能是SMTP或者其他的配置问题。
如果log正常,请注意设置 SCHEDULED_EMAIL_DEBUG_MODE 是不是设置成了True,如果是True将进行调试模式不会真正的发送邮件,要改成False。
Error: Failed dependencies:
Error: Failed dependencies:
libappindicator3.so.1()(64bit) is needed by google-chrome-stable-85.0.4183.121-1.x86_64
liberation-fonts is needed by google-chrome-stable-85.0.4183.121-1.x86_64
libvulkan.so.1()(64bit) is needed by google-chrome-stable-85.0.4183.121-1.x86_64
安装chrome依赖失败,有网的情况下 yum install libappindicator3 等等 依次安装,没网的话只能自行下载
IndexError: pop from empty list
redis.exceptions.AuthenticationError: Authentication required.
redis认证失败,redis设置了密码,但是访问的URL没有设置密码,设置好密码: “redis://xxx:xxx@localhost:6379/0”
想去掉邮件中的Explore in Superset
需要修改源码,位于
anaconda3/lib/python3.7/site-packages/apache_superset-0.37.0-py3.7.egg/superset/tasks/schedules.py
里面有report charts的邮件模板,修改为自己想要的即可。
如何将炫酷的报表直接截图发送邮件——在Superset 0.37使用Schedule Email功能的更多相关文章
- Android开发之炫酷MD风格
文章转自:一点点征服的 http://www.cnblogs.com/ldq2016/p/5217590.html 安卓开发中非常炫的效果集合 这几天开发的时候,想做一些好看而且酷炫的特效,于是又开始 ...
- web报表设计器在线制作炫酷图表
相信很多人都看过这些大屏的图表,是不是感觉效果很酷炫,做起来会很复杂,按照传统的方式去做,使用数据分析工具结合ps美化可能耗时要数月才能做出来.但这个时候用Smartbi自助仪表盘功能,全方位的满足各 ...
- Android开发必知--WebView加载html5实现炫酷引导页面
大多数人都知道,一个APP的引导页面还是挺重要的,不过要想通过原生的Android代码做出一个非常炫酷的引导页相对还是比较复杂的,正巧html5在制作炫酷动画网页方面比较给力,我们不妨先利用html5 ...
- Android绘图机制(四)——使用HelloCharts开源框架搭建一系列炫酷图表,柱形图,折线图,饼状图和动画特效,抽丝剥茧带你认识图表之美
Android绘图机制(四)--使用HelloCharts开源框架搭建一系列炫酷图表,柱形图,折线图,饼状图和动画特效,抽丝剥茧带你认识图表之美 这里为什么不继续把自定义View写下去呢,因为最近项目 ...
- 推荐 2 款超牛逼、炫酷、实用的Docker管理工具!
Docker技术的火热程度,想必每个互联网IT技术人员都能时时感受的到,的确,近些年,国内对于Docker容器技术的应用需求越来越强烈!! 人均年薪80万以上,docker到底是什么?为什么这么火? ...
- 炫酷的jQuery对话框插gDialog
js有alert,prompt和confirm对话框,不过不是很美体验也不是很好,用jQuery也能实现, 体验效果:http://hovertree.com/texiao/jquery/34/ 代码 ...
- html5跟随鼠标炫酷网站引导页动画特效
html5跟随鼠标炫酷网站引导页动画特效一款非常不错的引导页,文字效果渐变,鼠标跟随出绚丽的条纹.html5炫酷网站引导页,鼠标跟随出特效. 体验效果:http://hovertree.com/tex ...
- 简单CSS3实现炫酷读者墙
如题,给大家介绍和讲解几个常用的CSS3属性,并用到实处. 先看demo(请使用Chrome或者Firefox浏览,IE的靠边): 点此查看实例 觉得爽的可以继续阅读下面的知识点,感觉不爽的可绕行. ...
- 【DevOps】DevOps成功的八大炫酷工具
为自动化和分析所设计的软件及服务正加速devops改革的步伐,本文为你盘点了Devops成功的八大炫酷工具 Devops凭借其连接弥合开发与运营团队的能力正在各个行业呈现席卷之势.开发人员和运营人员历 ...
随机推荐
- 牛客网PAT练兵场-人口普查
题目地址:https://www.nowcoder.com/pat/6/problem/4054 题解:结构体排序即可 /** * Copyright(c) * All rights reserved ...
- Kubernetes入门(二)——Dashboard 安装
Kubernetes集群搭建完成后,可以通过命令行方式可以了解集群资源的使用情况,但是这种方式比较笨拙且不直观,因此考虑给集群安装Dashboard,这样能更直观了解集群状态.本文Dashboard的 ...
- 重写简易的confirm函数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- SPFA算法详解
前置知识:Bellman-Ford算法 前排提示:SPFA算法非常容易被卡出翔.所以如果不是图中有负权边,尽量使用Dijkstra!(Dijkstra算法不能能处理负权边,但SPFA能) 前排提示*2 ...
- Labview学习之路(三)前面板数值控件
首先看一下前面板都有什么数值控件(我用的labview是17年的,其他版本可能会有不同) 我个人将他们分成了六个部分 第一部分 这个部分大家很好理解,数值输入数值输出,时间输入和时间输出,这里我们讲一 ...
- php实现无限极分类(多维数组 / 二维数组)形式
<?php // 测试数组数据$array = array( array('id'=>'1','title'=>'父级分类1','pid'=>'0'), array('id'= ...
- Unity Plugins的使用方法
一.为插件设置平台的方法 unity5之前,是通过把插件搞到对应目录进行区分平台的(比如在build target是ios平台时只把IOS目录的插件build进去),unity5之后提供了设置平台/c ...
- lidar激光雷达领域的分类
lidar领域可以按分为以下五方面: 激光雷达系统与装备 激光雷达系统与开发 激光雷达光源 激光雷达探测 多光谱激光雷达系统 单光子激光雷达系统 低成本RGB-D距离传感器 激光雷达元器件及装备等 激 ...
- 搭建好lnmp后,使用浏览器访问,出现404 Not Found
出现404 Not Found的原因是nginx指向页面不存在,编辑nginx配置文件,修改nginx指向页面路径 root html; 修改为 root /usr/share/nginx/html; ...
- Mybatis联合查询(一)
Mybatis的简单联合查询操作: 实体类: Employee: package com.test.mybatis; public class Employee { private Integer i ...