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功能的更多相关文章

  1. Android开发之炫酷MD风格

    文章转自:一点点征服的 http://www.cnblogs.com/ldq2016/p/5217590.html 安卓开发中非常炫的效果集合 这几天开发的时候,想做一些好看而且酷炫的特效,于是又开始 ...

  2. web报表设计器在线制作炫酷图表

    相信很多人都看过这些大屏的图表,是不是感觉效果很酷炫,做起来会很复杂,按照传统的方式去做,使用数据分析工具结合ps美化可能耗时要数月才能做出来.但这个时候用Smartbi自助仪表盘功能,全方位的满足各 ...

  3. Android开发必知--WebView加载html5实现炫酷引导页面

    大多数人都知道,一个APP的引导页面还是挺重要的,不过要想通过原生的Android代码做出一个非常炫酷的引导页相对还是比较复杂的,正巧html5在制作炫酷动画网页方面比较给力,我们不妨先利用html5 ...

  4. Android绘图机制(四)——使用HelloCharts开源框架搭建一系列炫酷图表,柱形图,折线图,饼状图和动画特效,抽丝剥茧带你认识图表之美

    Android绘图机制(四)--使用HelloCharts开源框架搭建一系列炫酷图表,柱形图,折线图,饼状图和动画特效,抽丝剥茧带你认识图表之美 这里为什么不继续把自定义View写下去呢,因为最近项目 ...

  5. 推荐 2 款超牛逼、炫酷、实用的Docker管理工具!

    Docker技术的火热程度,想必每个互联网IT技术人员都能时时感受的到,的确,近些年,国内对于Docker容器技术的应用需求越来越强烈!! 人均年薪80万以上,docker到底是什么?为什么这么火? ...

  6. 炫酷的jQuery对话框插gDialog

    js有alert,prompt和confirm对话框,不过不是很美体验也不是很好,用jQuery也能实现, 体验效果:http://hovertree.com/texiao/jquery/34/ 代码 ...

  7. html5跟随鼠标炫酷网站引导页动画特效

    html5跟随鼠标炫酷网站引导页动画特效一款非常不错的引导页,文字效果渐变,鼠标跟随出绚丽的条纹.html5炫酷网站引导页,鼠标跟随出特效. 体验效果:http://hovertree.com/tex ...

  8. 简单CSS3实现炫酷读者墙

    如题,给大家介绍和讲解几个常用的CSS3属性,并用到实处. 先看demo(请使用Chrome或者Firefox浏览,IE的靠边): 点此查看实例 觉得爽的可以继续阅读下面的知识点,感觉不爽的可绕行. ...

  9. 【DevOps】DevOps成功的八大炫酷工具

    为自动化和分析所设计的软件及服务正加速devops改革的步伐,本文为你盘点了Devops成功的八大炫酷工具 Devops凭借其连接弥合开发与运营团队的能力正在各个行业呈现席卷之势.开发人员和运营人员历 ...

随机推荐

  1. 1、Entity Framework Core 3.1入门教程-概述和准备工作

    本文章是根据 微软MVP solenovex(杨旭)老师的视频教程编写而来,再加上自己的一些理解. 视频教程地址:https://www.bilibili.com/video/BV1xa4y1v7rR ...

  2. 常被问到的八个 Java 面试题

    想要找到一份好的工作,面试是少不了的,可能你觉得自己技术应该不错了,但是面试却是一团糟.下面我收集了八个常常被问到的Java面试题.   1. 阐述 Java 7 和 Java 8 的区别. 实话说, ...

  3. 深入理解C++中的new/delete和malloc/free动态内存管理

    malloc/free和new/delete的区别 malloc/free是C/C++标准库的函数:new/delete是C++操作符. malloc/free只是动态分配内存空间/释放空间:new/ ...

  4. 总结回顾js arr的常见方法以及相关的使用场景(一)

    Array对象方法 1.arr.concat() 连接两个或更多的数组,并返回结果. 连接数组中的值 连接两个数组 连接三个数组 2.arr.join() 把数组的所有元素放入一个字符串.元素通过指定 ...

  5. 【已学完】UGUI Schedule

    章节 内容 签到 Unity4.6 New UI(UGUI) 1.UGUI概述与Canvas画布介绍(一) 5月14日 2.Canvas画布介绍(二) 5月14日 3.Text控件 5月14日 4.I ...

  6. Unity代码混淆

    https://www.zhihu.com/question/25414422 http://blog.csdn.net/kun1234567/article/details/7917847 http ...

  7. [WUST-CTF]Web WriteUp

    周末放假忙里偷闲打了两场比赛,其中一场就是武汉科技大学的WUST-CTF新生赛,虽说是新生赛,题目质量还是相当不错的.最后有幸拿了总排第5,记录一下Web的题解. checkin 进入题目询问题目作者 ...

  8. Oracle两个数据库互相访问-九五小庞

    Oracle两个数据库互相访问

  9. mysql5.7.29- windows64安装教程

    1.配置环境变量 MYSQL_HOME=D:\tools\mysql-5.7. path=%MYSQL_HOME%\bin 2.执行mysqld --initialize-insecure --use ...

  10. 登录SQL Server服务器时的服务器名称

    在本地访问Microsoft SQL Server 2008服务器时,首先就是要填写正确的服务器名称.经测试,该名称可以有多种写法,具体如下: 写法一: X\sqlexpress(X即计算机名) 写法 ...