开启自助取数功能
所有文档
menu

百度数据可视化 Sugar BI

开启自助取数功能

产品详情立即使用

Sugar BI 的自助取数功能可以帮助您将所需要的数据以 CSV 形式下载到本地,详见自助取数

在私有部署中要使用该功能,您需要额外安装部署一套存储系统,用来存储自助取数所生成的 CSV 文件,并且在 Sugar BI 的平台环境变量中加入启用配置(Sugar BI 的 4.0.1 及之后版本才支持)。目前 Sugar BI 支持两种存储系统:百度智能云对象存储 BOSMinIO,下面将分别介绍这两种储存系统来支持自助取数功能的使用方式:

1、百度智能云对象存储 BOS

如果您部署 Sugar BI 的服务器能够访问公网,并且在浏览器上使用 Sugar BI 的用户电脑也能访问公网,那么我们强烈推荐您使用百度智能云对象存储 BOS作为自助取数的存储系统,否则您需要部署后面一节将要介绍的MinIO方案。

在开通百度智能云对象存储 BOS之后,你需要在 BOS 上创建一个新的 bucket,名称由您自行决定,例如 xxxxxx :

图片

然后,就可以在 Sugar BI 中来启用该功能了,需要在 Sugar BI 的 env 配置文件中增加以下配置(同理,Swarm、Kubernetes 部署方式也是同样的添加相应的环境变量配置即可)。

下面的 xxxxxx 需要替换为您真实创建的 bucket 的名称,另外还需要填写 endpoint、AK/SK 等信息:

sugar_enable_data_easy_fetch=1
sugar_data_easy_fetch_storage_type=bos
# endpoint填写,北京区域:https://bj.bcebos.com,广州区域:https://gz.bcebos.com,苏州区域:https://su.bcebos.com
sugar_data_easy_fetch_bos_endpoint=https://bj.bcebos.com
sugar_data_easy_fetch_bos_bucket=xxxxxx
# 百度智能云的AK/SK填写,详见 https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
sugar_bos_ak=
sugar_bos_sk=

env 文件更新之后需要重启 Sugar BI,重启成功后即可使用自助取数功能了。

2、MinIO

MinIO是一个使用非常广泛的开源对象存储系统,也是支持使用容器化的方式进行部署,您可以使用 docker pull minio/minio 来下载对应的部署镜像,如果您的服务器不能访问公网,需要您在支持访问公网的机器上预先下载对应镜像,并使用 docker savedocker load 等命令将镜像装载到服务器中。

部署 MinIO 的服务器,推荐使用容量大于 1TB 的硬盘,和 Sugar BI 本身一样,它也支持单机纯 Docker、Swarm、Kubernetes 三种方式来进行部署,我们推荐使用单机纯 Docker 即可:

一、单机纯 Docker 部署

MinIO 的安装详细过程可参考官方文档,命令如下:

mkdir -p ~/sugarDataEasyFetch

docker run -p 9000:9000 -p 9800:9800 --name minio \
-d --restart=always \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=admin123 \
-v ~/sugarDataEasyFetch:/data \
minio/minio server /data \
--console-address ":9800" --address ":9000"

上面命令中的端口 9000、9800,以及用户名密码 admin、admin123,你都可以按照实际情况进行修改。部署完成后可以使用浏览器访问 http://部署机器-ip:9800 查看 MinIO 是否部署成功,能看到大体如下的界面:

图片

二、Swarm 部署

  • 1、新建一个minio-compose.yml文件,并用文本编辑器打开,复制以下的内容并填写相应部分:
version: '3.6'

services:
  minio:
    image: minio/minio
    ports:
      - '9000:9000'
      - '9800:9800'
    restart: always
    command: server /data --console-address ":9800" --address ":9000"
    deploy:
      replicas: 1
      placement:
        constraints:
          #限制minio在swarm部署时部署的固定机器,如: - node.hostname == minio在swarm部署时部署的固定机器ip
    # 将上传到minio的文件映射到本地磁盘保存,/sugarDataEasyFetch 为部署机器的磁盘地址,需要填写存在的路径
    volumes:
      - '/sugarDataEasyFetch:/data'
    # MINIO_ROOT_USER为minio登录的用户名;MINIO_ROOT_PASSWORD为minio登录的密码
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: admin123
  • 2、在minio-compose.yml文件的目录下执行以下命令来启动 MinIO
docker stack deploy --compose-file minio-compose.yml minio

和纯 Docker 方式一样,部署完成后可以通过访问 http://部署的机器-ip:9800 查看 MinIO 是否部署成功。

三、Kubernetes 部署

  • 1、新建一个minio.yaml文件,并用文本编辑器打开,复制以下的内容并填写相应部分:
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: sugar-minio
  name: sugar-minio
spec:
  replicas: 1
  selector:
    matchLabels:
      app: sugar-minio
  template:
    metadata:
      labels:
        app: sugar-minio
    spec:
      volumes:
        - name: data
          hostPath:
            path: /sugarDataEasyFetch
            type: DirectoryOrCreate
      containers:
        - name: sugar-minio
          image: minio/minio
          args: ['server', '/data', '--console-address', ':9800', '--address', ':9000']
          imagePullPolicy: 'IfNotPresent'
          ports:
            - name: address
              containerPort: 9000
            - name: console-address
              containerPort: 9800
          volumeMounts:
            - name: data
              mountPath: /data
          env:
            # MINIO_ROOT_USER为minio登录的用户名;MINIO_ROOT_PASSWORD为minio登录的密码
            - name: MINIO_ROOT_USER
              value: 'admin'
            - name: MINIO_ROOT_PASSWORD
              value: 'admin123'
      nodeSelector:
        # 部署时固定机器,xxxxxx需要替换为机器的ip
        kubernetes.io/hostname: xxxxxx
---
apiVersion: v1
kind: Service
metadata:
  name: sugar-minio
  labels:
    app: sugar-minio
spec:
  type: NodePort
  ports:
    - name: address
      port: 9000
      nodePort: 32590 # 这块使用NodePort方式,并且配置了nodePort为32590端口,可以根据实际情况修改
    - name: console-address
      port: 9800
      nodePort: 32598 # 这块使用NodePort方式,并且配置了nodePort为32598端口,可以根据实际情况修改
  selector:
    app: sugar-minio
  • 2、在minio.yaml文件的目录下执行以下命令来启动 MinIO
kubectl apply -f minio.yaml

和纯 Docker 方式一样,部署完成后可以通过访问 http://部署的机器-ip:9800 查看 MinIO 是否部署成功。

平台中启用自助取数

MinIO 存储系统部署完成之后,就可以在 Sugar BI 中来启用自助取数功能了,需要在 Sugar BI 本身的 env 配置文件中增加以下配置(同理,Swarm、Kubernetes 部署方式也是同样的添加相应的环境变量配置即可):

sugar_enable_data_easy_fetch=1
sugar_data_easy_fetch_storage_type=minio
# minio的用户名
sugar_minio_ak=admin
# minio的密码
sugar_minio_sk=admin123
# minio的endpoint,即部署机器的IP,端口是9000
sugar_minio_endpoint=http://部署的机器-ip:9000
# minio存储自助取数时的bucket,默认为以下的sugar-data-easy-fetch即可
sugar_minio_file_bucket=sugar-data-easy-fetch

env 文件更新之后需要重启 Sugar BI,重启成功后即可使用自助取数功能了。

部署验证

部署完成后,可进入「组织管理」->「外部模块部署验证」进行验证。

上一篇
外观主题设置
下一篇
开启跨源查询功能