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

相关文章

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

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

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

Apache Tiles 布局管理器

陈科肇 =========== 1.简介 一个免费的开源模板框架现代Java应用程序。  基于该复合图案它是建立以简化的用户界面的开发。 对于复杂的网站,它仍然最简单,最优雅的方式来一起工作的任何MVC技术。 Tiles允许作者定义页面片段可被组装成在运行一个完整的网页。  这些片段,或Tiles,可以用于为了降低公共页面元素的重复,简单地包括或嵌入在其它瓦片,制定了一系列可重复使用

Apache HttpClient使用详解

转载地址:http://eksliang.iteye.com/blog/2191017 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟

开源Apache服务器安全防护技术精要及实战

Apache 服务简介   Web服务器也称为WWW服务器或HTTP服务器(HTTPServer),它是Internet上最常见也是使用最频繁的服务器之一,Web服务器能够为用户提供网页浏览、论坛访问等等服务。   由于用户在通过Web浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而Web在Internet上一推出就得到了爆炸性的发展。现在Web服务器已

Java中WebService接口的生成、打包成.exe、设置成Windows服务、及其调用、Apache CXF调用

一、Java中WebService接口的生成: 1、在eclipse工具中新建一个普通的JAVA项目,新建一个java类:JwsServiceHello.java package com.accord.ws;import javax.jws.WebMethod;import javax.jws.WebService;import javax.xml.ws.Endpoint;/*** Ti

Superset二次开发之Select 筛选器源码分析

路径:superset-frontend/src/filters/components/Select  源码文件: 功能点: 作用 交互 功能 index.ts作为模块的入口点,导出其他文件中定义的主要组件和函数。它使其他文件中的导出可以被外部模块使用。 SelectFilterPlugin.tsx 定义主要的插件类 SelectFilterPlugin 和组件 Sele