Superset安装与使用

news2024/11/18 2:59:28

第1章 Superset入门

1.1 Superset概述

Apache Superset是一个开源的、现代的、轻量级BI分析工具,能够对接多种数据源、拥有丰富的图表展示形式、支持自定义仪表盘,且拥有友好的用户界面,十分易用。

1.2 Superset应用场景

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

第2章 Superset安装及使用

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

2.1 安装Python环境

Superset是由Python语言编写的Web应用,要求Python3.8的环境。

2.1.1 安装Miniconda

conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同Python版本的软件包及其依赖,并能够在不同的Python环境之间切换,Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等,Miniconda包括Conda、Python。

此处,我们不需要如此多的工具包,故选择MiniConda。

1)下载Miniconda(Python3版本)

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

2)安装Miniconda

(1)执行以下命令进行安装,并按照提示操作,直到安装完成。

[atguigu@hadoop102 lib]$ bash Miniconda3-latest-Linux-x86_64.sh

(2)在安装过程中,出现以下提示时,可以指定安装路径
在这里插入图片描述
(3)出现以下字样,即为安装完成
在这里插入图片描述

3)加载环境变量配置文件,使之生效
[atguigu@hadoop102 lib]$ source ~/.bashrc
4)取消激活base环境

Miniconda安装完成后,每次打开终端都会激活其默认的base环境,我们可通过以下命令,禁止激活默认base环境。

[atguigu@hadoop102 lib]$ conda config --set auto_activate_base false

2.1.2 创建Python3.8环境

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.8

说明: conda环境管理常用命令
创建环境:conda create -n env_name
查看所有环境:conda info --envs
删除一个环境:conda remove -n env_name --all

3)激活superset环境
(base) [atguigu@hadoop102 ~]$ conda activate superset

激活后效果如下图所示
在这里插入图片描述
说明:退出当前环境

(superset) [atguigu@hadoop102 ~]$ conda deactivate
4)执行python命令查看python版本

在这里插入图片描述

2.2 Superset部署

2.2.1 安装依赖

安装Superset之前,需安装以下所需依赖

(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

2.2.2 安装Superset

1)安装(更新)setuptools和pip
(superset) [atguigu@hadoop102 ~]$ pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/
(superset) [root@node01 ~]$ pip install pillow
(superset) [root@node01 ~]$ pip uninstall markupsafe;python -m pip install markupsafe==2.0.1;

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

2)安装Supetset
(superset) [atguigu@hadoop102 ~]$ pip install apache-superset==1.4.2 -i https://pypi.douban.com/simple/

说明:-i的作用是指定镜像,这里选择国内镜像
注:如果遇到网络错误导致不能下载,可尝试更换镜像

(superset) [atguigu@hadoop102 ~]$  pip install apache-superset --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
3)初始化Supetset数据库
(superset) [atguigu@hadoop102 ~]$ superset db upgrade
4)创建管理员用户
(superset) [atguigu@hadoop102 ~]$ export FLASK_APP=superset
(superset) [atguigu@hadoop102 ~]$ superset fab create-admin

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

5)Superset初始化
(superset) [atguigu@hadoop102 ~]$ superset init

2.2.3 启动Supterset

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

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

2)启动Superset

(1)确保当前conda环境为superset,及下图所示
在这里插入图片描述
(2)启动

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

说明:
–workers:指定进程个数
–timeout:worker进程超时时间,超时会自动重启
–bind:绑定本机地址,即为Superset访问地址
–daemon:后台运行
(3)登录Superset
访问http://hadoop102:8787,并使用2.2.2节中第4步创建的管理员账号进行登录。
在这里插入图片描述

3)停止superset

停掉gunicorn进程

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

退出superset环境

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

2.2.4 superset启停脚本

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

内容如下

#!/bin/bash

superset_status(){
    result=`ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | wc -l`
    if [[ $result -eq 0 ]]; then
        return 0
    else
        return 1
    fi
}
superset_start(){
        source ~/.bashrc
        superset_status >/dev/null 2>&1
        if [[ $? -eq 0 ]]; then
            conda activate superset ; gunicorn --workers 5 --timeout 120 --bind hadoop102:8787 --daemon 'superset.app:create_app()'
        else
            echo "superset正在运行"
        fi

}

superset_stop(){
    superset_status >/dev/null 2>&1
    if [[ $? -eq 0 ]]; then
        echo "superset未在运行"
    else
        ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
    fi
}


case $1 in
    start )
        echo "启动Superset"
        superset_start
    ;;
    stop )
        echo "停止Superset"
        superset_stop
    ;;
    restart )
        echo "重启Superset"
        superset_stop
        superset_start
    ;;
    status )
        superset_status >/dev/null 2>&1
        if [[ $? -eq 0 ]]; then
            echo "superset未在运行"
        else
            echo "superset正在运行"
        fi
esac
2)加执行权限
[atguigu@hadoop102 bin]$ chmod +x superset.sh
3)测试

启动superset

[atguigu@hadoop102 bin]$ superset.sh start

停止superset

[atguigu@hadoop102 bin]$ superset.sh stop

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/112816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

局域网yum仓库搭建

有时候在线的yum源安装特别慢还经常会断,制作自己的一个本地yum源是有必要的。 使用场景,一个服务器集群,只有一台服务器能连接外网,连接外网那台服务器就可以通过reposync把外网源的包全部同步下来放在本地,集群中其他服务器就以这台服务器为包库使用 yum 安装,当然,同…

nginx 后退

nginx 后退目录概述需求:设计思路实现思路分析1.使用nginx的2.配置nginx属性即可参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for chang…

TextMeshPro快速上手

Text Mesh Pro是Unity的新的文本显示对象,最大的优点是放大以后不会有锯齿,而且有更多的显示效果。缺点是需要配置才能使用,不像原来的直接就可以用。 官方资源 http://digitalnativestudios.com/textmeshpro/docs/ https://docs.unity3d.c…

MrDoc的excel文件导入(Luckysheet)空白行问题问题

今天继续测试MrDoc,虽然写这个文的时候我的MrDoc的文还没整完。。 但是今天这个问题是一个比较独立的模块,就单独说吧。 文章目录问题:导入缓慢省流:修改Luckysheet的初始化参数寻找:MrDoc使用的表格技术破案&#xff…

【Redis—过期策略和内存淘汰策略】

Reids过期策略 设置过期时间 expire <key> <n>&#xff1a;设置 key 在 n 秒后过期&#xff0c;比如 expire key 100 表示设置 key 在 100 秒后过期&#xff1b; pexpire <key> <n>&#xff1a;设置 key 在 n 毫秒后过期&#xff0c;比如 pexpire ke…

二极管与三极管

能带Energy band 能带理论是用量子力学的方法研究固体内部电子运动的理论。 能带理论的作用&#xff1a;说明了导体与绝缘体、半导体的区别所在&#xff1b;解释了晶体中电子的平均自由程问题。 根据电子填充的情况&#xff0c;能带分为传导带&#xff08;简称导带&#xff0c…

(二十二)Vue之脚手架的使用

文章目录基本使用脚手架文件结构分析mian.js文件关于不同版本的Vue关于render函数关于vue.config.js配置文件关于index.html文件演示程序Vue学习目录 上一篇&#xff1a;&#xff08;二十一&#xff09;Vue之单文件组件 Vue 脚手架是 Vue 官方提供的标准化开发工具&#xff0…

数据库,计算机网络、操作系统刷题笔记17

数据库&#xff0c;计算机网络、操作系统刷题笔记17 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle…

圣诞节,来棵Golang的圣诞树吧

一、前言 2022年的圣诞到啦&#xff0c;不知道大家都&#x1f411;了吗&#xff01;博主已经挺进了决赛圈&#xff0c;希望可以继续稳如老狗&#xff01;本来今天是想继续深挖一下git&#xff0c;但打开博客看到这个圣诞活动&#xff0c;还可以赢徽章&#xff0c;那我肯定要把…

C++基础之提高5

C提高编程 本阶段主要针对C泛型编程和STL技术做详细讲解&#xff0c;探讨C更深层的使用 1 模板 1.1 模板的概念 模板就是建立通用的模具&#xff0c;大大提高复用性 例如生活中的模板 一寸照片模板&#xff1a; PPT模板&#xff1a; 模板的特点&#xff1a; 模板不可以直…

Maven 运行性期间不报错

Maven 运行性期间不报错目录概述需求&#xff1a;设计思路实现思路分析1.正确引入maven问题2.编译maven 无问题3.运行出错了参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a…

第14章_MySQL事务日志

第14章_MySQL事务日志第14章_MySQL事务日志1. redo日志1.1 为什么需要REDO日志1.2 REDO日志的好处、特点1.3 redo的组成1.5 redo log的刷盘策略1.6 不同刷盘策略演示1.7 写入redo log buffer 过程1.8 redo log file1. 相关参数设置2. 日志文件组3. checkpoint1.9 redo log小结2…

python基础语法——变量和变量类型

文章目录变量命名规则使用变量和修改变量变量的类型整数 int浮点数 float字符串 string布尔动态类型特征变量命名规则 软性规则&#xff1a; 1.给变量命名的时候&#xff0c;尽量使用描述性的单词来表示&#xff0c;尽量通过名字来表现出变量的作用 2. 当我们使用一个单词描述…

实战讲解时区处理基于SimpleDateFormat和LocalDateTime

1 缘起 最近在做海外的项目&#xff0c; 需要根据时区转换时间&#xff0c;起初&#xff0c;项目使用的时区格式为{area}/{city}&#xff0c; 可直接使用SimpleDateFormat处理&#xff0c;后面由于要添加其他地区&#xff0c; 统一将时区改为UTC格式&#xff0c;此时&#xff…

AndroidQ兼容性适配指南

AndroidQ Android 10 中的隐私权变更 隐私权变更受影响的应用缓解策略✅分区存储 针对外部存储的过滤视图&#xff0c;可提供对特定于应用的文件和媒体集合的访问权限访问和共享外部存储中的文件的应用使用特定于应用的目录和媒体集合目录 了解详情✅增强了用户对位置权限的控…

Viewer.js点击按钮放大图片用法

1、Viewer.js点击按钮放大图片用法 <div onclick"getHideBig(hide_img_weight1)" id"btn_img_weight1">查看图片</div> <img src"tibet-3.jpg" id"hide_img_weight1" style"display: none;"/><script…

异常的认识 -(java)

文章目录前言1. 什么时异常&#xff1f;2. 异常的分类2.1 运行时异常/非受查异常2.2 编译时异常/受查异常3. 处理异常3.1 抛出异常3.2 声明异常3.3 try catch处理异常总结✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来&#xff01; 编程真是一件很奇妙的东西。你只是…

java 之 git 手把手教学

什么是git? Git是一个分布式版本控制工具&#xff0c;主要用于管理开发过程中的源代码文件&#xff08;Java类、xml文件、html页面等&#xff09;&#xff0c;在软件开发过程中被广泛使用。 学完之后能干什么&#xff1f; Git 简介 Git 代码托管服务 Git 常用命令 git add前…

C++:STL:常用容器(上):vector

1&#xff1a;vector基本概念 功能&#xff1a;vector 数据结构和数组非常相似&#xff0c;也称为 单端数组. vector 与普通数组区别&#xff1a; 1&#xff1a; 数组是静态空间&#xff0c;而 vector 可以动态扩展 2&#xff1a; 动态扩展&#xff1a;并不是在原空间之后接新…

Java 集合学习笔记:HashMap - 迭代器

Java 集合学习笔记&#xff1a;HashMap - 迭代器iteratorsHashIteratorhasNextnextNoderemoveKeyIteratorValueIteratorEntryIteratorspliteratorsHashMapSpliteratorgetFence 获取拆分器的右边界estimateSize 估计剩余元素的个数KeySpliterator1. trySplit 尝试拆分2. forEach…