一、Azkaban的补充

1、动态参数传递

  1. nodes:
  2. - name: jobC
  3. type: command
  4. config:
  5. command: echo "This is job C"
  6. dependsOn:
  7. - embedded_flow
  8. - name: embedded_flow
  9. type: flow
  10. config:
  11. prop: value
  12. dt: ${data}
  13. nodes:
  14. - name: jobB
  15. type: command
  16. config:
  17. command: echo "This is job B ${prop}"
  18. dependsOn:
  19. - jobA
  20. - name: jobA
  21. type: command
  22. config:
  23. command: echo "This is job A ${dt}"

image.png
image.png
说明文档中的有特殊字符,\t
image.png
image.png
image.png

2、定时任务

image.png
image.png
image.png
image.png
传参数:在我们的执行任务时传递参数,再设置定时任务即可。

二、SuperSet实战

当第二天再次进入superset的时候,进不去,这个时候,你隐约觉得昨天没有关。
先进入superset环境:

  1. conda activate superset

在后台杀死进程,再开启:

  1. ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
  2. gunicorn -w 1 -t 120 -b bigdata01:8787 "superset.app:create_app()"

实战前的环境准备:
需要数据:
可以执行 superset_demo.sql
image.png
image.png
让你的superset与mysql建立连接:
image.png
主要的是数据库连接的语句的写法:

  1. mysql://root:123456@bigdata01/superset_demo?charset=utf8

image.png

如果你连接不上:
image.png
说明是没有数据库驱动:

  1. conda install mysqlclient

接着需要重启superset:

  1. ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
  2. gunicorn -w 1 -t 120 -b bigdata01:8787 "superset.app:create_app()"

如果报连接异常,可以更换下面的数据库连接的url:

  1. 先下载:
  2. pip install mysql-connector-python
  3. 再连接:
  4. mysql+mysqlconnector://root:123456@bigdata01/superset_demo?charset=utf8

image.png

案例一:统计不同性别的人数

image.png
image.png
编写SQL语句:

  1. SELECT
  2. gender,
  3. count(1) as total
  4. from t_user
  5. group by gender

image.png
image.png
选择完成会,不会自动的出图表的,需要点击 【Run】

以上不完美,原因是性别不是汉字,需要重新的编写SQL:

  1. select
  2. case when gender='1' then '男'
  3. when gender ='0' then '女'
  4. else '妖'
  5. end as gender ,
  6. count(1) as total
  7. from t_user group by gender;

image.png
image.png
image.png

第二个案例:统计每日订单总额(趋势图)

SQL:

  1. select sum(price) as total , str_to_date(date1,'%Y-%m-%d') date1 from dm_sales group by date1;

image.png

第三个案例:根据日期,渠道,统计订单总额(双环图)

  1. select sum(price) as total, date1,channelname
  2. from dm_sales
  3. group by date1,channelname;

image.png

第四个案例:根据日期,区域,渠道,产品,统计订单总额(多环图)

  1. select sum(price) as total, date1,channelname
  2. from dm_sales
  3. group by date1,channelname;

image.png
image.png

第五个案例:根据日期以及区域,统计销售额(透视图)

SQL语句:

  1. select str_to_date(date1,'%Y-%m-%d') date1,regionname,sum(amount) as total_amount ,sum(price) as total
  2. from dm_sales
  3. group by date1,regionname;
  4. 此处需要将字符串类型转换为日期类型

image.png

三、面板的作用:

image.png
新建一个面板,就是一个空白页,我们可以将图表放在这个空白页上面。
image.png
image.png