Skip to main content

初始化

使用Docker运行

  1. 创建一个新目录并进入该文件夹

    mkdir ~/wren-engine
    cd ~/wren-engine
  2. 创建一个名为 docker-compose.yml 的文件,然后将以下内容放入文件中。

    version: '3.8'

    services:
    engine:
    image: ghcr.io/canner/wren-engine:latest
    platform: linux/amd64 # 根据你的平台选择。(linux/amd64 或 linux/arm64)(M1, M2, M3 是 arm64)
    ports:
    - 8080:8080
    - 7432:7432
    volumes:
    - ./etc:/usr/src/app/etc
    environment:
    - SQLGLOT_PORT=8000
  3. 创建一个文件夹 etc 并进入该文件夹。

    mkdir etc
    cd etc
  4. 创建 config.properties 并将其放入 etc

    node.environment=production
    wren.directory=/usr/src/app/etc/mdl
    pg-wire-protocol.auth.file=/usr/src/app/etc/accounts
    wren.datasource.type=duckdb

    我们支持多种数据源类型,您可以查看 概述 以了解详情。

  5. 创建一个文件 accounts 并将其放入 etc 目录中

    howard pxd123
  6. Create a folder mdl and a file mdl.json and store the file in the folder, the path looks as etc/mdl/mdl.json

    {
    "catalog": "wren",
    "schema": "tpch",
    "models": [
    {
    "name": "Orders",
    "tableReference": {
    "catalog": "memory",
    "schema": "tpch",
    "table": "orders"
    },
    "columns": [
    {
    "name": "orderkey",
    "expression": "o_orderkey",
    "type": "integer"
    },
    {
    "name": "custkey",
    "expression": "o_custkey",
    "type": "integer"
    }
    ],
    "primaryKey": "orderkey"
    }
    ]
    }

    More about Modeling Definition Language

使用JAR运行

  • 要求:
    • Java 21+
  1. 从GitHub发布页面下载jar文件(待定: URL)并将其重命名为wren-server-executable.jar

  2. 创建一个新目录并将Wren Engine JAR文件移动到其中

    mkdir ~/wren-engine

    然后

    mv ~/Downloads/wren-server-executable.jar ~/wren-engine
  3. 转到 Wren Engine 目录并准备配置文件

    cd ~/wren-engine
  4. 创建一个文件夹 etc 并进入它。

    mkdir etc
    cd etc
  5. 创建 config.properties

    node.environment=production
    wren.directory=/usr/src/app/etc/mdl
    pg-wire-protocol.auth.file=/usr/src/app/etc/accounts
    wren.datasource.type=duckdb

    我们支持多种数据源类型,您可以查看 概述 以了解详情。

  6. 创建一个文件 accounts

    howard pxd123
  7. Create a folder mdl and a file mdl.json, and put it in the mdl folder, path as etc/mdl/mdl.json

    {
    "catalog": "wren",
    "schema": "tpch",
    "models": [
    {
    "name": "Orders",
    "tableReference": {
    "catalog": "memory",
    "schema": "tpch",
    "table": "orders"
    },
    "columns": [
    {
    "name": "orderkey",
    "expression": "o_orderkey",
    "type": "integer"
    },
    {
    "name": "custkey",
    "expression": "o_custkey",
    "type": "integer"
    }
    ],
    "primaryKey": "orderkey"
    }
    ]
    }

    More about Modeling Definition Language