长春市城乡建设局网站,昭通建设网站,广东深圳快递能发货吗,近期做网站需要什么软件系列文章目录
线上问诊#xff1a;业务数据采集 线上问诊#xff1a;数仓数据同步 线上问诊#xff1a;数仓开发(一) 线上问诊#xff1a;数仓开发(二) 线上问诊#xff1a;数仓开发(三) 线上问诊#xff1a;可视化展示 文章目录 系列文章目录前言一、全流程调度1.生产新…系列文章目录
线上问诊业务数据采集 线上问诊数仓数据同步 线上问诊数仓开发(一) 线上问诊数仓开发(二) 线上问诊数仓开发(三) 线上问诊可视化展示 文章目录 系列文章目录前言一、全流程调度1.生产新数据2.编写脚本3.脚本测试 二、可视化展示1.安装Miniconda32.安装python33.Superset部署1.安装依赖2.加载模块 4.Superset部署1.安装Superset2.配置Superset元数据库3.修改superset配置文件4.安装python msyql驱动5.初始化superset元数据 5.SupersetSet初始化1.创建管理员用户2.初始化superset3.启动脚本 6.Superset使用1.连接MYSQL2.配置Table3.制作仪表盘 总结 前言
这次博客我们就可以完成线上问诊的离线数仓项目。 一、全流程调度
正常应该使用DolphinScheduler进行全流程调度但是由于博主的电脑硬件的极限。所以为了完成整个项目我们自己写一个bash脚本来进行流程调度
1.生产新数据
vim /opt/module/maxwell/config.properties medical_mock.sh 1 在数据库中查看是否出现10号数据。
2.编写脚本
这个脚本是我自己写的项目中原本没有 vim ~/bin/medical_run.sh
#!/bin/bash
/bin/bash /home/atguigu/bin/medical_mysql_to_hdfs_full.sh all $1
/bin/bash /home/atguigu/bin/medical_hdfs_to_ods.sh all $1
/bin/bash /home/atguigu/bin/medical_ods_to_dwd.sh all $1
/bin/bash /home/atguigu/bin/medical_ods_to_dim.sh all $1
/bin/bash /home/atguigu/bin/medical_dwd_to_dws_1d.sh all $1
/bin/bash /home/atguigu/bin/medical_dws_1d_to_dws_nd.sh all $1
/bin/bash /home/atguigu/bin/medical_dws_1d_to_dws_td.sh all $1
/bin/bash /home/atguigu/bin/medical_dws_to_ads.sh all $1
/bin/bash /home/atguigu/bin/medical_hdfs_to_mysql.sh all添加权限 chmod x ~/bin/medical_run.sh
3.脚本测试
先打开之前创建的所有通道
myhadoop.sh start
zk.sh start
kf.sh start
mxw.sh start
medical-f1.sh start
hiveservices.sh startmedical_run.sh 2023-05-10 当数据库中出现10号代表成功。
二、可视化展示
这里我们就不需要通道了如果硬件不太够可以把通道关闭。
1.安装Miniconda3
minconda3清华源 bash Miniconda3-latest-Linux-x86_64.sh 安装地址修改一下。 /opt/module/miniconda3 激活环境 source ~/.bashrc 取消默认激活base conda config --set auto_activate_base false 换源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main conda config --set show_channel_urls yes
2.安装python3
conda create --name superset python3.8.16 激活环境 conda activate superset
3.Superset部署
1.安装依赖
sudo yum install -y gcc gcc-c libffi-devel python-devel python-pip python-wheel python-setuptools openssl-devel cyrus-sasl-devel openldap-devel2.加载模块
编写一个base.txt文件 vim base.txt
aiohttp3.8.1# via slackclient
aiosignal1.2.0# via aiohttp
alembic1.6.5# via flask-migrate
amqp5.1.0# via kombu
apispec[yaml]3.3.2# via flask-appbuilder
async-timeout4.0.2# via aiohttp
attrs21.2.0# via# aiohttp# jsonschema
babel2.9.1# via flask-babel
backoff1.11.1# via apache-superset
billiard3.6.4.0# via celery
bleach3.3.1# via apache-superset
brotli1.0.9# via flask-compress
cachelib0.4.1# via apache-superset
celery5.2.2# via apache-superset
cffi1.14.6# via cryptography
charset-normalizer2.0.4# via aiohttp
click8.0.4# via# apache-superset# celery# click-didyoumean# click-plugins# click-repl# flask# flask-appbuilder
click-didyoumean0.3.0# via celery
click-plugins1.1.1# via celery
click-repl0.2.0# via celery
colorama0.4.4# via# apache-superset# flask-appbuilder
convertdate2.3.2# via holidays
cron-descriptor1.2.24# via apache-superset
croniter1.0.15# via apache-superset
cryptography3.4.7# via apache-superset
deprecation2.1.0# via apache-superset
dnspython2.1.0# via email-validator
email-validator1.1.3# via flask-appbuilder
flask2.0.3# via# apache-superset# flask-appbuilder# flask-babel# flask-caching# flask-compress# flask-jwt-extended# flask-login# flask-migrate# flask-sqlalchemy# flask-wtf
flask-appbuilder4.1.3# via apache-superset
flask-babel1.0.0# via flask-appbuilder
flask-caching1.10.1# via apache-superset
flask-compress1.10.1# via apache-superset
flask-jwt-extended4.3.1# via flask-appbuilder
flask-login0.4.1# via flask-appbuilder
flask-migrate3.1.0# via apache-superset
flask-sqlalchemy2.5.1# via# flask-appbuilder# flask-migrate
flask-talisman0.8.1# via apache-superset
flask-wtf0.14.3# via# apache-superset# flask-appbuilder
frozenlist1.3.0# via# aiohttp# aiosignal
func-timeout4.3.5# via apache-superset
geographiclib1.52# via geopy
geopy2.2.0# via apache-superset
graphlib-backport1.0.3# via apache-superset
gunicorn20.1.0# via apache-superset
hashids1.3.1# via apache-superset
holidays0.10.3# via apache-superset
humanize3.11.0# via apache-superset
idna3.2# via# email-validator# yarl
isodate0.6.0# via apache-superset
itsdangerous2.1.1# via# flask# flask-wtf
jinja23.0.3# via# flask# flask-babel
jsonschema3.2.0# via flask-appbuilder
kombu5.2.4# via celery
korean-lunar-calendar0.2.1# via holidays
mako1.1.4# via alembic
markdown3.3.4# via apache-superset
markupsafe2.0.1# via# jinja2# mako# wtforms
marshmallow3.13.0# via# flask-appbuilder# marshmallow-enum# marshmallow-sqlalchemy
marshmallow-enum1.5.1# via flask-appbuilder
marshmallow-sqlalchemy0.23.1# via flask-appbuilder
msgpack1.0.2# via apache-superset
multidict5.1.0# via# aiohttp# yarl
numpy1.22.1# via# apache-superset# pandas# pyarrow
packaging21.3# via# bleach# deprecation
pandas1.3.4# via apache-superset
parsedatetime2.6# via apache-superset
pgsanity0.2.9# via apache-superset
polyline1.4.0# via apache-superset
prison0.2.1# via flask-appbuilder
prompt-toolkit3.0.28# via click-repl
pyarrow5.0.0# via apache-superset
pycparser2.20# via cffi
pyjwt2.4.0# via# apache-superset# flask-appbuilder# flask-jwt-extended
pymeeus0.5.11# via convertdate
pyparsing3.0.6# via# apache-superset# packaging
pyrsistent0.16.1# via jsonschema
python-dateutil2.8.2# via# alembic# apache-superset# croniter# flask-appbuilder# holidays# pandas
python-dotenv0.19.0# via apache-superset
python-editor1.0.4# via alembic
python-geohash0.8.5# via apache-superset
pytz2021.3# via# babel# celery# convertdate# flask-babel# pandas
pyyaml5.4.1# via# apache-superset# apispec
redis3.5.3# via apache-superset
selenium3.141.0# via apache-superset
simplejson3.17.3# via apache-superset
six1.16.0# via# bleach# click-repl# flask-talisman# holidays# isodate# jsonschema# polyline# prison# pyrsistent# python-dateutil# sqlalchemy-utils# wtforms-json
slackclient2.5.0# via apache-superset
sqlalchemy1.3.24# via# alembic# apache-superset# flask-appbuilder# flask-sqlalchemy# marshmallow-sqlalchemy# sqlalchemy-utils
sqlalchemy-utils0.37.8# via# apache-superset# flask-appbuilder
sqlparse0.3.0# via apache-superset
tabulate0.8.9# via apache-superset
typing-extensions3.10.0.0# via apache-superset
urllib31.26.6# via selenium
vine5.0.0# via# amqp# celery# kombu
wcwidth0.2.5# via prompt-toolkit
webencodings0.5.1# via bleach
werkzeug2.0.3# via# flask# flask-jwt-extended
wtforms2.3.3# via# flask-appbuilder# flask-wtf# wtforms-json
wtforms-json0.3.3# via apache-superset
yarl1.6.3# via aiohttp# The following packages are considered to be unsafe in a requirements file:
# setuptools4.Superset部署
1.安装Superset
pip install apache-superset2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple -r base.txt2.配置Superset元数据库
CREATE DATABASE superset DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
create user superset% identified WITH mysql_native_password BY superset;
grant all privileges on *.* to superset% with grant option;
flush privileges;3.修改superset配置文件
vim /opt/module/miniconda3/envs/superset/lib/python3.8/site-packages/superset/config.py SQLALCHEMY_DATABASE_URI ‘mysql://superset:supersethadoop102:3306/superset?charsetutf8’
4.安装python msyql驱动
conda install mysqlclient
5.初始化superset元数据
export FLASK_APPsuperset superset db upgrade
5.SupersetSet初始化
1.创建管理员用户
superset fab create-admin 密码自己输入一下其他的默认就行了。
2.初始化superset
superset init
3.启动脚本
pip install gunicorn -i https://pypi.douban.com/simple/ vim ~/bin/superset.sh
#!/bin/bashsuperset_status(){resultps -ef | awk /gunicorn/ !/awk/{print $2} | wc -lif [[ $result -eq 0 ]]; thenreturn 0elsereturn 1fi
}
superset_start(){source ~/.bashrcsuperset_status /dev/null 21if [[ $? -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 21if [[ $? -eq 0 ]]; thenecho superset未在运行elseps -ef | awk /gunicorn/ !/awk/{print $2} | xargs kill -9fi
}case $1 instart )echo 启动Supersetsuperset_start;;stop )echo 停止Supersetsuperset_stop;;restart )echo 重启Supersetsuperset_stopsuperset_start;;status )superset_status /dev/null 21if [[ $? -eq 0 ]]; thenecho superset未在运行elseecho superset正在运行fi
esac添加权限 chmod x ~/bin/superset.sh 启动superset superset.sh start 访问http://hadoop102:8787 用之前设置的密码登录。
6.Superset使用
1.连接MYSQL 2.配置Table 用这三张表进行数据可视化。
3.制作仪表盘 可以和数据库数据对比一下。 检查一下数据 自己拖拽三个框 直接拖进去 自己调整一下大小就可以保存了。 把得到的连接复制到浏览器即可使用。 总结
至此线上问诊离线数仓项目完成。可以考虑抓个快照。