当前位置:   article > 正文

大数据项目---电商数仓(二)_电商数仓全流程调度

电商数仓全流程调度

一.Azkaban_工作流程安排

二.Azkaban_部署_executor

三.Azkaban_部署_web

四.Azkaban_部署_启停脚本

五.Sqoop_导出事项

六.Sqoop_Mysql建表注意事项

七.Sqoop_导出脚本说明

八.Azkaban_全流程调度_数据准备

九.Azkaban_全流程调度_flow文件的编写上传(一)

十.Azkaban_全流程调度_flow文件的编写上传(二)

十一.Azkaban_问题总结

十二.Hive问题的查找

十三.Flume_HDFS_Event

十四.可视化展示_Superset_概述

十六.可视化展示_Miniconda常用的使用

十七.可视化展示_创建Python环境

十八.可视化展示_部署

十九.可视化展示_启动Supterset

二十.可视化展示_停止superset

二十一.可视化展示_安装数据库依赖

二十二.可视化展示_对接数据源

二十三.可视化展示_配置图表

二十四.可视化展示_配置仪表盘

二十五.可视化展示_地图

二十六.可视化展示_饼状图


一.Azkaban_工作流程安排

目前已经完成的工作流程:

数据仓库并不是我们想要的最后的东西,我们需要ads层的数据导入到mysql之中,为什么不是导入到hive之中,因为hive的延迟实在是太低了.

二.Azkaban_部署_executor

首先是Azkaban的安装,首先是将Azkaban进行解压,然后是进行相应的创建出来.
①然后是将上面的东西使用mysql进行创建;
mysql -uroot -p123456
create database azkaban
use database azkaban
source create-all-sql-3.84.4.sql
为了防止Azkaban发生阻塞,需要修改一个参数,将相应的参数进行修改得到
进入mysql的配置文件:sudo vim /etc/my.cnf
max_allowed_packet=1024M
重新启动mysql:sudo systemctl restart mysqld

②部署executor
Azkaban的部署分类:单机版只能是布置一个executor,多机版配置多个executor.
进入配置文件之中:/opt/module/azkaban/azkaban-exec/conf
vim azkaban.properties
进入编辑者模式:set nu

分发部署:rsync.sh /opt/module/azkaban/azkaban-exec/

③进入到相应的路径之下进行启动部署
bin/start-exec.sh
同理,在相应的hadoop103,hadoop104之中也是需要进入到相应的路径之中进行启动,
如何查看是否启动成功,在相应的路径之中查看是否存在.port文件

可以看到我的就是启动失败了,需要查找相应的错误.
$ tail -500 executorServerLog__2022-12-27+12\:14\:13.out 

重新进入到相应的配置文件之中,看一看我的是不是配置错误了.
 
果然是我的这个地方写错了,然后进行相应的修改,改正之后发现还是有错.

我就将里面的密码进行了修正,之后将进行使用kill进行杀死.
出现.port文件说明正常运行了.

另外一种进行验证的方式是用sql进行连接.

可以见到是正常运行的,只有在执行相应的激活命令之后,active才能变成为1.

  1. [hadoop102 azkaban-exec]curl -G "hadoop102:12321/executor?action=activate" && echo
  2. [hadoop103 azkaban-exec]curl -G "hadoop103:12321/executor?action=activate" && echo
  3. [hadoop104 azkaban-exec]curl -G "hadoop104:12321/executor?action=activate" && echo

 

激活成功. 

三.Azkaban_部署_web

上述的executor在三台机器上都是存在的,但是web server只是存在于hadoop102上面.
这个地方是对于azkaban-web的修改过程,首先是进入到相应的azkaban.properties之中,然后是将相应的属性进行修改.


首先是交给executor进行相应的调度,之后是

首先是选择最空闲的,然后是进行选择相应的最小的内存的,最后是选择最小的内存.这里我们将最小的内存限制去除掉.
vim azkaban-users.xml
文档之中一些名词的解释:role是权限的集合,perssion权限 

上面是对于一些权限的修改过程,创建一个新的用户.
需要进入到相应的/opt/module/azkaban/azkaban-web路径之中进行相应的查询启动.
bin/start-web.sh

进入相应的端口号查看配置:hadoop102:8081

就是上面的这个界面.

四.Azkaban_部署_启停脚本

azkaban群起群停脚本,这个脚本是我在网上查到的,应该是可以用的,代码是如下所示:
azkaban.sh

  1. #!/bin/bash
  2. start-web(){
  3. for i in hadoop102;
  4. do
  5. ssh $i "cd /opt/module/azkaban/azkaban-web;bin/start-web.sh"
  6. done
  7. }
  8. stop-web(){
  9. for i in hadoop102;
  10. do
  11. ssh $i "cd /opt/module/azkaban/azkaban-web;bin/shutdown-web.sh"
  12. done
  13. }
  14. start-exec(){
  15. for i in hadoop102 hadoop103 hadoop104;
  16. do
  17. ssh $i "cd /opt/module/azkaban/azkaban-exec;bin/start-exec.sh"
  18. done
  19. }
  20. activate-exec(){
  21. for i in hadoop102 hadoop103 hadoop104;
  22. do
  23. ssh $i "curl -G "$i:12321/executor?action=activate" && echo"
  24. done
  25. }
  26. stop-exec(){
  27. for i in hadoop102 hadoop103 hadoop104;
  28. do
  29. ssh $i "/opt/module/azkaban/azkaban-exec/bin/shutdown-exec.sh"
  30. done
  31. }
  32. case $1 in
  33. start-exec)
  34. start-exec;;
  35. activate-exec)
  36. activate-exec;;
  37. stop-exec)
  38. stop-exec;;
  39. start-web)
  40. start-web;;
  41. stop-web)
  42. stop-web;;
  43. esac

 进行相应的测试,如下所示:没有问题

五.Sqoop_导出事项

这个过程是使用的sqoop的双向传输我们将数据从别的地方导入hadoop之中,这个过程我们称为导入(import).,反之是导出(export).导入的过程是可以到hdfs,hbase,hive,导出仅仅支持在hdfs之中的一个路径下的文件导出到mysql的一张表之中.
使用sqoop的时候,需要注意到相应的字段应当是一致的.

六.Sqoop_Mysql建表注意事项

首先是在相应的mysql之中创建一个新的数据表

然后就是在相应的里面创建新的表,直接在gui工具之中创建.
在hadoop102之中进入到相应的mysql之中,进行创建的过程

  1. DROP TABLE IF EXISTS `ads_user_topic`;
  2. CREATE TABLE `ads_user_topic` (
  3. `dt` date NOT NULL,
  4. `day_users` bigint(255) NULL DEFAULT NULL,
  5. `day_new_users` bigint(255) NULL DEFAULT NULL,
  6. `day_new_payment_users` bigint(255) NULL DEFAULT NULL,
  7. `payment_users` bigint(255) NULL DEFAULT NULL,
  8. `users` bigint(255) NULL DEFAULT NULL,
  9. `day_users2users` double(255, 2) NULL DEFAULT NULL,
  10. `payment_users2users` double(255, 2) NULL DEFAULT NULL,
  11. `day_new_users2users` double(255, 2) NULL DEFAULT NULL,
  12. PRIMARY KEY (`dt`) USING BTREE
  13. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
  1. DROP TABLE IF EXISTS `ads_area_topic`;
  2. CREATE TABLE `ads_area_topic` (
  3. `dt` date NOT NULL,
  4. `id` int(11) NULL DEFAULT NULL,
  5. `province_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  6. `area_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  7. `iso_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  8. `region_id` int(11) NULL DEFAULT NULL,
  9. `region_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  10. `login_day_count` bigint(255) NULL DEFAULT NULL,
  11. `order_day_count` bigint(255) NULL DEFAULT NULL,
  12. `order_day_amount` double(255, 2) NULL DEFAULT NULL,
  13. `payment_day_count` bigint(255) NULL DEFAULT NULL,
  14. `payment_day_amount` double(255, 2) NULL DEFAULT NULL,
  15. PRIMARY KEY (`dt`, `iso_code`) USING BTREE
  16. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

可以见到创建成功了. 

七.Sqoop_导出脚本说明

1)编写Sqoop导出脚本

在/home/atguigu/bin目录下创建脚本hdfs_to_mysql.sh
脚本之中添加的代码如下所示:

  1. #!/bin/bash
  2. hive_db_name=gmall
  3. mysql_db_name=gmall_report
  4. export_data() {
  5. /opt/module/sqoop-1.4.6/bin/sqoop export \
  6. -Dmapreduce.job.queuename=hive \
  7. --connect "jdbc:mysql://hadoop102:3306/${mysql_db_name}?useUnicode=true&characterEncoding=utf-8" \
  8. --username root \
  9. --password 123456 \
  10. --table $1 \
  11. --num-mappers 1 \
  12. --export-dir /warehouse/$hive_db_name/ads/$1 \
  13. --input-fields-terminated-by "\t" \
  14. --update-mode allowinsert \
  15. --update-key $2 \
  16. --input-null-string '\\N' \
  17. --input-null-non-string '\\N'
  18. }
  19. case $1 in
  20. "ads_uv_count")
  21. export_data "ads_uv_count" "dt"
  22. ;;
  23. "ads_user_action_convert_day")
  24. export_data "ads_user_action_convert_day" "dt"
  25. ;;
  26. "ads_user_topic")
  27. export_data "ads_user_topic" "dt"
  28. ;;
  29. "ads_area_topic")
  30. export_data "ads_area_topic" "dt,iso_code"
  31. ;;
  32. "all")
  33. export_data "ads_user_topic" "dt"
  34. export_data "ads_area_topic" "dt,iso_code"
  35. #其余表省略未写
  36. ;;
  37. esac

关于导出update还是insert的问题

  • --update-mode:

updateonly   只更新,无法插入新数据

        allowinsert   允许新增 

  • --update-key:允许更新的情况下,指定哪些字段匹配视为同一条数据,进行更新而不增加。多个字段用逗号分隔。
  • --input-null-string和--input-null-non-string:

分别表示,将字符串列和非字符串列的空串和“null”转义。

Hive中的Null在底层是以“\N”来存储,而MySQL中的Null在底层就是Null,为了保证数据两端的一致性。在导出数据时采用--input-null-string和--input-null-non-string两个参数。导入数据时采用--null-string和--null-non-string。

八.Azkaban_全流程调度_数据准备

造出数据,跑一下每一天的流程过程.

这个地方由于我前面看的课程和这个是不一样的,这个地方我用的有一个dt.sh的使用,就是将相应的时间进行一个生成,我在网上查到一个博客是这样写的,不过这里我的数据是生成的2020-6-16.大数据项目重温——电商数据仓库(三)数据采集模块(中)_Moody丶的博客-CSDN博客9、数据采集模块(三).日志生成(1).日志启动1)代码参数说明// 参数一:控制发送每条的延时时间,默认是0 Long delay = args.length > 0 ?Long.parseLong(args[0]) : 0L;// 参数二:循环遍历次数 int loop_len = args.length > 1 ?Integer.parseInt(args[1])...https://blog.csdn.net/yw1441776254/article/details/97150155

首先是生成一下相应的日志数据
就是很正常的操作,f1.sh start f2.sh start 进入到applog之中修改一下数据日期,log.sh生成数据.

f2.sh stop,f1.sh stop,kafka.sh stop需要注意这里的kafka关闭之后需要调用xcall.sh jps,看一看是不是彻底关掉了相应的kafka,因为关闭kafka是需要一定的时间的.之后,zk.sh stop.

生成一下相应的业务数据.
首先是进入到相应的数据源库之中修改相应的日期,cd /opt/module/db_log/,修改好里面的日期数据之后,直接执行相应的java -jar gmall2020-mock-db-2021-01-22.jar.
这时候在mysql之中查看是否在相应的表之中出现16号的订单.
可以见到是存在相应的16号的数据的,因此,这里的操作是正确的.

九.Azkaban_全流程调度_flow文件的编写上传(一)

创建文件

 此刻我们需要上传一个工作流程的文件,类似如下所示:

 1)编写azkaban.project文件,内容如下

azkaban-flow-version: 2.0

上面我们使用的zakaban的版本是3.84版本,但是我们描述工作流程的版本是使用的2.0版本进行的工作流程的描述.

2)编写gmall.flow文件,内容如下

  1. nodes:
  2. - name: mysql_to_hdfs
  3. type: command
  4. config:
  5. command: /home/atguigu/bin/mysql_to_hdfs.sh all ${dt}
  6. - name: hdfs_to_ods_log
  7. type: command
  8. config:
  9. command: /home/atguigu/bin/hdfs_to_ods_log.sh ${dt}
  10. - name: hdfs_to_ods_db
  11. type: command
  12. dependsOn:
  13. - mysql_to_hdfs
  14. config:
  15. command: /home/atguigu/bin/hdfs_to_ods_db.sh all ${dt}
  16. - name: ods_to_dwd_log
  17. type: command
  18. dependsOn:
  19. - hdfs_to_ods_log
  20. config:
  21. command: /home/atguigu/bin/ods_to_dwd_log.sh ${dt}
  22. - name: ods_to_dwd_db
  23. type: command
  24. dependsOn:
  25. - hdfs_to_ods_db
  26. config:
  27. command: /home/atguigu/bin/ods_to_dwd_db.sh all ${dt}
  28. - name: dwd_to_dws
  29. type: command
  30. dependsOn:
  31. - ods_to_dwd_log
  32. - ods_to_dwd_db
  33. config:
  34. command: /home/atguigu/bin/dwd_to_dws.sh ${dt}
  35. - name: dws_to_dwt
  36. type: command
  37. dependsOn:
  38. - dwd_to_dws
  39. config:
  40. command: /home/atguigu/bin/dws_to_dwt.sh ${dt}
  41. - name: dwt_to_ads
  42. type: command
  43. dependsOn:
  44. - dws_to_dwt
  45. config:
  46. command: /home/atguigu/bin/dwt_to_ads.sh ${dt}
  47. - name: hdfs_to_mysql
  48. type: command
  49. dependsOn:
  50. - dwt_to_ads
  51. config:
  52. command: /home/atguigu/bin/hdfs_to_mysql.sh all

脚本注意事项,这里是yml文件,它是区分大小写的,根据缩进表示递进关系,只能使用空格描述,不能够使用相应的tab快捷键描述相应的递进关系.将上述的两个文件变成一个压缩包.

上传.

十.Azkaban_全流程调度_flow文件的编写上传(二)

点击相应的executorflow,发现会出现自己做好的那个流程图.

选择schedule,设定相应的跑定时间.

上面的描述过程是进行定时调度的过程,如果要是想要使用自己调度的过程,那么这里的value就是空着就是可以的,然后点击schedule进行设定相应的时间.
可以见到hadoop102之中的地方是4

上面的日期改成2020-6-16,多加了一个0出现了问题. 正常执行之中.

十一.Azkaban_问题总结

sqlyog显示的时候将限制行关掉.

十二.Hive问题的查找

在相应的客户端出现了相应的问题,我们是在这个路径下面进行查找相应的问题的。

这个路径下方是存在一个相应的hive.log的。
查找相应的错误的方式是使用tail -500 hive.log
如果这个地方还是没有相应的明显的错误,这个时候我们只能够在相应的yarn上进行相应的查看。
hadoop103:8088,在开启相应的历史服务器之后进行相应的错误的寻找,history之中进行相应的寻找. 
注意在hive on Spark和Spark是一样的.

十三.Flume_HDFS_Event

hadoop104之中的flume的HDFS的配置是用来配置写到HDFS之中的.
数据上传到相应的HDFS之中,后面会进行相应的一个时间的转换,%Y-%m-%d会转换成为相应的具体的年月日,转换成为什么样子的值,是由相应的header确定的.

默认的情况下,载相应的Flume的Event之中是不存在timestamp的,因此使用这个转义序列必须要记性使用header的,但是相应的Kafka Source会自动为其添加一个header的,value是当前的系统时间戳.所以,如果不认为加拦截器去修改timestamp,那么%Y-%m-%d最终就会和系统时间保持一致.

如果要是添加如下的拦截器,获取日志之中的时间戳,作为该header的值,就能够保证其与%Y-%m-%d和在application.properties配置的mock.date保持一致,就不用修改系统时间了.

如果要是不进行添加相应的拦截器,可能会出现,第一天生成的数据出现在第二天之中.

十四.可视化展示_Superset_概述

1.Apache Superset是一个开源的、现代的(基本是包含了所有的大数据的分析工具)、轻量级(使用python进行开发的)BI分析工具,能够对接多种数据源、拥有丰富的图标展示形式、支持自定义仪表盘(这里的仪表盘就是相应的大屏,上面存在各种各样的图标,我们将上面的图表看作为是相应的表盘,主要进行利用的是这个),且拥有友好的用户界面,十分易用。
这里的BI工具就是相应的进行分析的一个工具,可以将上面的东西转换成为更多的数据图表.

2.使用场景:由于Superset能够对接常用的大数据分析工具,如Hive、Kylin、Druid等,且支持自定义仪表盘,故可作为数仓的可视化工具。

十五.可视化展示_Minconda安装

1.官网地址:http://superset.apache.org/

2.环境:Superset是由Python语言编写的Web应用,要求Python3.6的环境.

电脑系统自带的环境是python2.7.5,是不符合要求的,因此我们这个地方是需要进行相应的搞定环境操作.第一种方式是卸载原来的python,安转新的python,但是这种方式是存在问题的,因为原来的系统可能是依赖与这个环境.

这里就是要提到一个Anaconda,可以创建自己想要的环境.Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等,Miniconda包括Conda、Python。这个地方我们是不需要那么多的东西,因此,使用MiniConda就是可以的.

3.下载地址:https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

将其上传到相应的/opt/software/superset之中,直接进行相应的执行就是可以的.相应代码是如下所示:bash Miniconda3-latest-Linux-x86_64.sh

注意这个过程之中可能是存在删除的东西,发现是删除不了的,这个时候就是需要按住ctrl+删除键才能够删除掉的.

上面是相应的安装路径. 

安装完毕. 

4.执行下面的代码过程会发现出现.bashrc,这个文件的含义一会儿再进行解释.

source之后,出现一个新的环境(base)

环境变成了3.7.4版本.

Miniconda安装完成后,每次打开终端都会激活其默认的base环境,我们可通过以下命令,禁止激活默认base环境。
[atguigu@hadoop102 lib]$ conda config --set auto_activate_base false

十六.可视化展示_Miniconda常用的使用

1)配置conda国内镜像

(base) [atguigu@hadoop102 ~]$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free

(base) [atguigu@hadoop102 ~]$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

(base) [atguigu@hadoop102 ~]$ conda config --set show_channel_urls yes

2)创建Python3.7环境

(base) [atguigu@hadoop102 ~]$ conda create --name superset python=3.6

这个时候我们是需要进行等待一小会儿的,等待相应的配置配置成功

说明:conda环境管理常用命令

创建环境:conda create -n env_name

查看所有环境:conda info --envs

删除一个环境:conda remove -n env_name --all

3)激活superset环境

(base) [atguigu@hadoop102 ~]$ conda activate superset

十七.可视化展示_创建Python环境

注意上面进行相应的创建环境的时候是比较慢的,我们这里可以使用镜像进行相应的操作.

这里是配置的清华大学的一个镜像的过程.

十八.可视化展示_部署

1.安装依赖
(superset) [atguigu@hadoop102 ~]$ sudo yum install -y gcc gcc-c++ libffi-devel python-devel python-pip python-wheel python-setuptools openssl-devel cyrus-sasl-devel openldap-devel
这个地方一共要安装38个包,是比较慢的.我的这个地方的东西看这个地方可以见到是安装好的.

 2.安装superset
1)安装(更新)setuptools和pip

(superset) [atguigu@hadoop102 ~]$ pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/

说明:pip是python的包管理工具,可以和centos中的yum类比

2)安装Supetset

(superset) [atguigu@hadoop102 ~]$ pip install apache-superset -i https://pypi.douban.com/simple/

说明:-i的作用是指定镜像,这里选择国内镜像,这里指的是pip的镜像

这个地方应当进行注意,有的时候会出现想一个的超时的现象,我们就是需要重新进行安装。

3)初始化Supetset数据库

(superset) [atguigu@hadoop102 ~]$ superset db upgrade

在进行相应的初始化的时候,我这里遇到了一个问题,就是引入库的情况。问题是如下所示:

 在看了一些别的博客之后,找错误,我发现是这个地方的错误。

4)创建管理员用户

(superset) [atguigu@hadoop102 ~]$ export FLASK_APP=superset

(superset) [atguigu@hadoop102 ~]$ flask fab create-admin

说明:flask是一个python web框架,Superset使用的就是flask

5)Superset初始化

(superset) [atguigu@hadoop102 ~]$ superset init

十九.可视化展示_启动Supterset

1)安装gunicorn

(superset) [atguigu@hadoop102 ~]$  pip install gunicorn -i https://pypi.douban.com/simple/

说明:gunicorn是一个Python Web Server,可以和java中的TomCat类比

2)启动Superset

第一步:确保当前conda环境为superset,及下图所示

(superset) [atguigu@hadoop102 ~]$

第二步:启动

(superset) [atguigu@hadoop102 ~]$  gunicorn --workers 5 --timeout 120 --bind hadoop102:8787  "superset.app:create_app()" --daemon

说明:

  • workers:指定进程个数
  • timeout:worker进程超时时间,超时会自动重启
  • bind:绑定本机地址,即为Superset访问地址
  • daemon:后台运行

二十.可视化展示_停止superset

(1)停掉gunicorn进程

(superset) [atguigu@hadoop102 ~]$ ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9

(2)退出superset环境

(superset) [atguigu@hadoop102 ~]$  conda deactivate

superset启停脚本

创建superset.sh文件
[atguigu@hadoop102 bin]$ vim superset.sh

  1. #!/bin/bash
  2. superset_status(){
  3. result=`ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | wc -l`
  4. if [[ $result -eq 0 ]]; then
  5. return 0
  6. else
  7. return 1
  8. fi
  9. }
  10. superset_start(){
  11. # 该段内容取自~/.bashrc,所用是进行conda初始化
  12. # >>> conda initialize >>>
  13. # !! Contents within this block are managed by 'conda init' !!
  14. __conda_setup="$('/opt/module/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
  15. if [ $? -eq 0 ]; then
  16. eval "$__conda_setup"
  17. else
  18. if [ -f "/opt/module/miniconda3/etc/profile.d/conda.sh" ]; then
  19. . "/opt/module/miniconda3/etc/profile.d/conda.sh"
  20. else
  21. export PATH="/opt/module/miniconda3/bin:$PATH"
  22. fi
  23. fi
  24. unset __conda_setup
  25. # <<< conda initialize <<<
  26. superset_status >/dev/null 2>&1
  27. if [[ $? -eq 0 ]]; then
  28. conda activate superset ; gunicorn --workers 5 --timeout 120 --bind hadoop102:8787 --daemon 'superset.app:create_app()'
  29. else
  30. echo "superset正在运行"
  31. fi
  32. }
  33. superset_stop(){
  34. superset_status >/dev/null 2>&1
  35. if [[ $? -eq 0 ]]; then
  36. echo "superset未在运行"
  37. else
  38. ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
  39. fi
  40. }
  41. case $1 in
  42. start )
  43. echo "启动Superset"
  44. superset_start
  45. ;;
  46. stop )
  47. echo "停止Superset"
  48. superset_stop
  49. ;;
  50. restart )
  51. echo "重启Superset"
  52. superset_stop
  53. superset_start
  54. ;;
  55. status )
  56. superset_status >/dev/null 2>&1
  57. if [[ $? -eq 0 ]]; then
  58. echo "superset未在运行"
  59. else
  60. echo "superset正在运行"
  61. fi
  62. esac

加执行权限

[atguigu@hadoop102 bin]$ chmod +x superset.sh

测试

启动superset

[atguigu@hadoop102 bin]$ superset.sh start

停止superset

[atguigu@hadoop102 bin]$ superset.sh stop

登录网址:hadoop102:8787

 

二十一.可视化展示_安装数据库依赖

1)安装连接MySQL数据源的依赖

(superset) [atguigu@hadoop102 ~]$ conda install mysqlclient

Proceed ([y]/n)? y

说明:对接不同的数据源,需安装不同的依赖,以下地址为官网说明

http://superset.apache.org/installation.html#database-dependencies

2)重启Superset

(superset) [atguigu@hadoop102 ~]$ superset.sh restart

二十二.可视化展示_对接数据源

1)Database配置

(1)点击Sources/Databases

(2)点击

 (3)点击填写Database及SQL Alchemy URI

Database: gmall_report

SQLAIchemy URI: mysql://root:000000@hadoop102/gmall_report?charset=utf8

注:SQL Alchemy URI编写规范:mysql://账号:密码@IP/数据库名称

(4)点击Test Connection,出现“Seems Ok!”提示即表示连接成功

(5)保存配置

 2)Table配置

(1)点击Sources/Tables

 (2)点击Sources/Tables

 (3)配置Table

二十三.可视化展示_配置图表

1)点击Dashboards/+

2)选则数据源及图表类型

 

3)选择何使的图表类型

 

4)创建图表

 

5)可修改语言为中文,方便配置

 

6)按照说明配置图表

 

7)点击“Run Query”

二十四.可视化展示_配置仪表盘

1)点击“Edit dashboard

2)调整图表大小以及图表盘布局

 

3)点击下图中箭头,可调整仪表盘自动刷新时间

 

二十五.可视化展示_地图

1)配置Table

2)配置Chart

 

二十六.可视化展示_饼状图

1)配置Table

此处使用地区主题表——ads_user_topic

2)配置Chart

 

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号