Apache Superset

2024-03-20 20:04
文章标签 apache superset

本文主要是介绍Apache Superset,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

        最近在准备一个小的项目,需要对 Hive 的数据进行展示,所以想到了把 Hive 的数据导出到 MySQL 然后用 Superset 进行展示。

Superset

1.1 Superset概述

        Apache Superset是一个现代的数据探索和可视化平台。它功能强大且十分易用,可对接各种数据源(比如 Hive、Durid),包括很多现代的大数据分析引擎,拥有丰富的图表展示形式,并且支持自定义仪表盘。

 1.2 Superset安装

1.2.1、安装Python环境

        这里废话少说,按照某谷的配置文档配的话一堆问题,毕竟当时的版本和现在可能不一样,以及镜像地址有的已经不能用了。

1、安装 Miniconda

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

安装命令:

bash Miniconda3-latest-Linux-x86_64.sh
2、加载环境变量配置文件,使之生效
source ~/.bashrc
3、取消激活 base 环境(conda 自己的 python 环境)

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

conda config --set auto_activate_base false
4、配置 Python 环境

CentOS 7 自带的是 2.7 版本的,明显太低,但是又不能把它删了或者覆盖,我们得在 conda 下再建一个 python 环境。

修改镜像源:

vi ~/.condarc

然后把下面的东西直接复制进去(文件里原本有的配置留一个就行):

channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
show_channel_urls: true
ssl_verify: false

5、创建Python3.9环境!

注意:是 3.9 !别用 3.7 了,不然一堆报错,我觉得是教程出的那会 superset 版本比较低,所以 3.7 安装的时候没问题,但是我今天安装一堆毛病,换了3.9还没出问题。

conda create --name superset python=3.9

安装完了 pythpn -V 看一下

6、激活 superset 环境

注意:之后所有关于 superset 的操作尽量都在 superset 环境下操作!!!

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

1.2.2、Superset 部署

1、安装 Superset 需要的依赖 
(superset) [lyh@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、更新 setuptools 和 pip

直接用下面这个命令:

(superset) [lyh@hadoop102 ~]$ pip install --upgrade setuptools pip -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn

不行就换源!

3、安装 Superset
(superset) [lyh@hadoop102 ~]$ pip install apache-superset pip -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn
4、初始化 Superset 数据库
(superset) [lyh@hadoop102 ~]$ export FLASK_APP=superset
(superset) [lyh@hadoop102 ~]$ superset db upgrade

这里容易报错,如果自己是 python 3.7 我反正是换了 3.9 后就没报错了。

5、创建管理员用户
(superset) [lyh@hadoop102 ~]$ superset fab create-admin

这里会让我们创建用户名和密码 

6、superset 初始化
(superset) [lyh@hadoop102 ~]$ superset init

1.2.3、启动 Superset 

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

我是自带的(提示已存在),还是那句话:不行就去换源(-i 镜像源地址)!

2、启动 Superset

 注意:一定要确保当前 conda 环境为 superset !!!

(superset) [lyh@hadoop102 ~]$ gunicorn --workers 5 --timeout 120 --bind hadoop102:8787  "superset.app:create_app()" --daemon 
  • workers:指定进程个数
  • timeout:worker进程超时时间,超时会自动重启
  • bind:绑定本机地址,即为Superset访问地址
  • daemon:后台运行
3、登录 Superset

打开 hadoop102:8087 ,用上面创建的用户名和密码登录

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

1.2.4、Superset 启停脚本

#!/bin/bashsuperset_status(){result=`ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | wc -l`if [[ $result -eq 0 ]]; thenreturn 0elsereturn 1fi
}
superset_start(){source ~/.bashrcsuperset_status >/dev/null 2>&1if [[ $? -eq 0 ]]; thenconda activate superset ; gunicorn --workers 5 --timeout 120 --bind hadoop102:8787 --daemon 'superset.app:create_app()'elseecho "superset正在运行"fi}superset_stop(){superset_status >/dev/null 2>&1if [[ $? -eq 0 ]]; thenecho "superset未在运行"elseps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9fi
}case $1 instart )echo "启动Superset"superset_start;;stop )echo "停止Superset"superset_stop;;restart )echo "重启Superset"superset_stopsuperset_start;;status )superset_status >/dev/null 2>&1if [[ $? -eq 0 ]]; thenecho "superset未在运行"elseecho "superset正在运行"fi
esac

1.2.5、退出 Superset

superset.sh stop
conda deactivate

总结

        这是我安装过最麻烦的软件了,让我把 Hadoop、Flink、Spark 全重装我不怕,但这东西是真tm恶心啊。

无法打开网页问题解决

打不开网页的话在 conda 的 superset 环境下输入下面的命令:

superset run --host 0.0.0.0

发现报错: 

export FLASK_APP=superset

继续测试,还有警告:

export SUPERSET_SECRET_KEY=“oh-so-secret”

所以:建议把这两个环境变量放到启动脚本中去!!!! 

解决!不得不说,这是第一次把我恶心到的软件,版本依赖是真的多,配置起来是真麻烦。

这篇关于Apache Superset的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/830588

相关文章

SpringBoot整合Apache Flink的详细指南

《SpringBoot整合ApacheFlink的详细指南》这篇文章主要为大家详细介绍了SpringBoot整合ApacheFlink的详细过程,涵盖环境准备,依赖配置,代码实现及运行步骤,感兴趣的... 目录1. 背景与目标2. 环境准备2.1 开发工具2.2 技术版本3. 创建 Spring Boot

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

解决Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题

《解决Maven项目报错:failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题》这篇文章主要介... 目录Maven项目报错:failed to execute goal org.apache.maven.pl

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

使用Apache POI在Java中实现Excel单元格的合并

《使用ApachePOI在Java中实现Excel单元格的合并》在日常工作中,Excel是一个不可或缺的工具,尤其是在处理大量数据时,本文将介绍如何使用ApachePOI库在Java中实现Excel... 目录工具类介绍工具类代码调用示例依赖配置总结在日常工作中,Excel 是一个不可或缺的工http://

Apache伪静态(Rewrite).htaccess文件详解与配置技巧

《Apache伪静态(Rewrite).htaccess文件详解与配置技巧》Apache伪静态(Rewrite).htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令,主要的... 一、.htAccess的基本作用.htaccess是一个纯文本文件,它里面存放着Apache服务器

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D