项目需要,需要将客户的环境的数据导出来做对对账分析,客户数据隐秘,不能提供调用接口,需要只能以csv文件的形式发出来。
但是一个2G的csv文件,大部分机器都会自己崩溃。还有一个方法就是拆分工具拆分,但是拆分后分析数据比较麻烦。
有一款Byzer的工具可以满足这个需求
官网地址:
https://docs.byzer.org/#/
支持私有环境部署,保证数据的隐私,搭建环境如下:
wget https://download.byzer.org/byzer/2.3.0.1/byzer-lang-all-in-one-linux-amd64-3.1.1-2.3.0.1.tar.gz
tar -zxvf byzer-lang-all-in-one-linux-amd64-3.1.1-2.3.0.1.tar.gz
cd byzer-lang-all-in-one-linux-amd64-3.1.1-2.3.0.1
./bin/byzer.sh start
wget https://download.byzer.org/byzer-notebook/1.2.0/Byzer-Notebook-1.2.0.tar.gz
tar -xvf Byzer-Notebook-1.2.0.tar.gz
可以使用docker-compose安装,其他的安装方式,自己百度一下
docker-compose.yml 文件
version: "2"
services:
mysql:
container_name: mysql
image: mysql:5.7
restart: always
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/init:/docker-entrypoint-initdb.d
- /etc/localtime:/etc/localtime:ro
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: "XXXXX"
TZ: "Asia/Shanghai"
command: --max_allowed_packet=32505856
路径地址
cd /home/Byzer-Notebook-1.2.0/conf
./bin/notebook.sh start
因为是2G的文件,上传比较慢,这里需要耐心的等待
load csv.`/tmp/upload/billing.csv` where header="true" as r3;
如果是xlsx文件
load excel.`/tmp/upload/billing.xlsx` where header="true" as r4;
注意
这里是反引号,不是单引号
select * from r3 limit 10 as 2022_06_24_r3;
在这里插入代码片
注意后面要带上 “as 表的别名” 这可能是byzer的特殊的标记方式。
select sum(BlendedCost) from r3 where payerAccountId=417966497442 as 417966497442_count;
支持所有的sql查询方式
附注:
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/sunyuhua_keyboard/article/details/125443387
内容来源于网络,如有侵权,请联系作者删除!