IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Superset汉化、支持Oracle连接及自定义CSS样式 -> 正文阅读

[大数据]Superset汉化、支持Oracle连接及自定义CSS样式

准备基础环境,后续通过Linux部署,且为了方便移植,这里先在虚拟环境中部署,后续制作成镜像使用。

1. 准备虚拟环境

# superset最低支持Python3.7

python3.7 -m venv superset

进入到虚拟环境中,下载源码:

git clone?https://github.com/apache/superset.git

git checkout -b 1.4 origin/1.4

2. 准备环境依赖

系统环境:
yum install gcc libffi-devel python-devel python-pippython-wheel openssl-devel libsasl2-devel openldap-devel

编译环境:
pip install -r requirements/local.txt

3. 自定义源码

vi?superset/config.py

1. 汉化:
BABEL_DEFAULT_LOCALE = "zh"
LANGUAGES = {
    "zh": {"flag": "cn", "name": "Chinese"},
}
其他不需要的预言,可以直接删除,为了美观也可以把下面的一行代码注释掉:
#LANGUAGES = {}


修改161行,superset启动时,指定外部数据库:
SQLALCHEMY_DATABASE_URI = 'mysql://user:password@ip:port/database?charset=utf8'


修改其他:
2. 修改缓存:
THUMBNAIL_CACHE_CONFIG: CacheConfig = {
    "CACHE_TYPE": "filesystem",
    "CACHE_NO_NULL_WARNING": True,
}
CACHE_CONFIG: CacheConfig = {"CACHE_TYPE": "filesystem"}
DATA_CACHE_CONFIG: CacheConfig = {"CACHE_TYPE": "filesystem"}
CACHE_DEFAULT_TIMEOUT = 14400

同时还需要修改以下内容:
lib/python3.7/site-packages/flask_caching/__init__.py

有些服务使用的flask_cache,用anaconda安装的superset自带flask_caching
//配置缓存时间 ?
config.setdefault("CACHE_DEFAULT_TIMEOUT", 3600*8)
//配置缓存的文件地址 ?
config.setdefault("CACHE_DIR", '/home/superset/cache/')
//配置缓存的数据类型 ?
config.setdefault("CACHE_TYPE", "filesystem")

3. 日志级别:
LOG_LEVEL = "INFO"

4. 修改
APP_NAME = "我的Superset"

其他需求可以根据注释自行修改内容,保存退出。

4. 编译

cd superset

删除其他不需要的语言文件,当前我只保留了translations下的zh文件夹
执行:pybabel compile -d translations
完成后在translations/zh/LC_MESSAGES/下多了一个messages.mo文件

cd ..
# 编译刚修改后的文件
python setup.py build
# 完成后会更新路径lib/python3.7/site-packages/apache_superset-1.4.0-py3.7.egg/superset下的所有文件
python setup.py install


此时后端代码编译完成,接下来编译前端代码:

此处需要安装nodejs:
解压到/usr/local下,然后建立软连接:
ln -s /usr/local/nodejs/bin/node /usr/local/bin
ln -s /usr/local/nodejs/bin/npm /usr/local/bin
输入npm version 有版本输出,即可

cd superset-frontend
npm install
# 上述命令没有问题后,执行:
npm run build
# 下面的命令执行完成后,Ctrl+C 即可
npm run dev

重点,重点

前端都编译完成后,在superset/static会有一个assets文件夹生成,需要将该文件夹下的所有文件夹及文件复制到

${PYTHON_HOME}/lib/site-packages/apache_superset-1.4.0-py3.7.egg/superset/static

否则就会报静态资源找不到错误。

5. 数据库准备

# 初始化数据库
superset db upgrade

# 创建管理员用户

flask fab create-admin

# 会以当前登录用户,登录MySQL。需要对root用户授权:

GRANT ALL PRIVILEGES? ON?*.* to user@host IDENTIFIED BY '123456';

FLUSH PRIVILEGES;

# 载入案例数据

superset load_examples
如果一直超时,可以尝试下载数据到本地,从本地源中导入数据:
编辑46行 /home/jxrtest/superset12/lib/python3.8/site-packages/apache_superset-1.2.0-py3.8.egg/superset/examples/birth_names.py 将这里的admin替换为create-admin时填写的用户。

编辑29行?/superset/lib/python3.8/site-packages/apache_superset-1.4.0-py3.8.egg/superset/examples/helpers.py 修改示例数据下载地址

# 初始化角色和权限
superset init

6. 启动服务

1)在线调试可以通过以下命令来启动:
superset run --with-threads --reload --debugger -p 18080 -h 0.0.0.0
?

2)生产环境,可以通过supervisor来监控

[program:xxxxx]
command=/home/xxx/venv/bin/gunicorn ?-w 10 -k gevent -b 0.0.0.0:8085 --access-logfile=success.log --error-logfile=error.log superset.app:create_app()
directory=/home/xxxx
autostart=true
autorestart=true
stderr_logfile=/home/xxx/log/stderr.log
stdout_logfile=/home/xxx/log/stdout.log
user=root

7. 其他

支持Oracle数据库连接:当前编译的是1.4分支的代码,所以只需要安装一下cx_oracle 这个库就可以了。

页面支持在线编写CSS样式,并直接使用。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:16:11  更:2021-12-26 22:18:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:56:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码