Skip to main content

WASM 模型

WASM 模型是利用 WASM 技术将分析数据库运行在浏览器内, 对在线数据进行分析的模型. WASM 模型支持以下几种数据源类型:

  • CSV
  • JSON
  • Parquet
  • Excel

创建 WASM 模型

在模型列表页面点击更多菜单中的创建 WASM 模型, 在弹窗中输入模型名称, 点击应用进行创建. 打开新建的模型.

添加数据文件

在建模之前首先需要添加数据表.

  1. 在数据表区域点击添加按钮, 创建数据表. Tiny
  2. 输入表名称: CsseCovid19Daily
  3. 选择类型: csv
  4. 分隔符: 默认空或者 ,
  5. 输入链接 https://app.mtda.cloud/assets/data/CsseCovid19Daily.csvMiddle Shadow 也可以上传数据文件到网络存储, 然后网络存储的链接地址自动填入链接地址: Middle Shadow
  6. 点击下一步可以预览数据, (如果文件数据量比较大, 页面会有卡顿现象), (调整 Last_Update 字段类型为 Date) Middle Shadow
  7. 确认无误后, 点击应用即添加文件(表)到模型.
info

企业租户可以自定义网络存储配置。

文件详细配置:

属性说明
名称表名称任意合法的表名称 (参考 PostgreSQL)
类型在线文件类型CSV, JSON, Parquet, Excel
第一行是标题当文件类型是 CSV 时, 文件的第一行是否为列标题
分隔符当文件类型是 CSV 时, 列分隔符
链接在线文件的链接地址

数据表添加成功后, 可以通过查询界面进行验证数据正确性. 在查询界面中输入执行 SQL, 看是否能得到 CSV 文件中的数据

查询语句为

select * from CsseCovid19Daily LIMIT 20

同理添加另外一个表

初始化脚本

除了使用配置在线文件的方式新增表之外, 还可以使用 SQL 脚本进行数据表的初始化过程。在 WASM 模型中打开查询界面,编写 sql 并执行以创建表,参考以下代码

-- create a table from online file without specifying the schema manually
CREATE TABLE CsseCovid19Daily AS SELECT * FROM 'https://app.mtda.cloud/assets/data/CsseCovid19Daily.csv';

-- create a table
CREATE TABLE CsseCovid19Daily(FIPS INTEGER, Admin2 VARCHAR, Province_State VARCHAR, Country_Region VARCHAR, Last_Update TIMESTAMP, Lat DOUBLE, Long_ DOUBLE, Confirmed INTEGER, Deaths INTEGER, Recovered VARCHAR, Active VARCHAR, Combined_Key VARCHAR, Incident_Rate DOUBLE, Case_Fatality_Ratio DOUBLE);
-- read a CSV file into the table
COPY CsseCovid19Daily FROM 'https://app.mtda.cloud/assets/data/CsseCovid19Daily.csv' (AUTO_DETECT TRUE);

-- read_csv with custom options
CREATE TABLE CsseCovid19Daily AS SELECT * FROM read_csv('https://app.mtda.cloud/assets/data/CsseCovid19Daily.csv', delim=',', header=True, columns={'FIPS': 'INTEGER', 'Admin2': 'VARCHAR', 'Province_State': 'VARCHAR', 'Country_Region': 'VARCHAR', 'Last_Update': 'TIMESTAMP', 'Lat': 'DOUBLE', 'Long_': 'DOUBLE', 'Confirmed': 'INTEGER', 'Deaths': 'INTEGER', 'Recovered': 'VARCHAR', 'Active': 'VARCHAR', 'Combined_Key': 'VARCHAR', 'Incident_Rate': 'DOUBLE',
'Case_Fatality_Ratio': 'DOUBLE'});

整理好初始化脚本后选择部分或全部(默认全部)脚本,然后点击 另存为数据库初始化脚本 按钮将脚本设置为 WASM 数据库初始化过程的脚本,这样 WASM 数据库在初始化此模型时将在初始化文件后执行此段脚本。

删除初始化脚本:在数据表区域标题栏点击 删除数据库初始化脚本 按钮将此脚本删除。

更多参考 CSV Loading

即时分析

除了将文件创建成表然后构建成模型进行分析数据外, 对于数据库用户来说还可以只使用 sql 语句进行即时分析。

-- query a online data file
SELECT * FROM 'https://app.mtda.cloud/assets/data/CsseCovid19Daily.csv';
-- view the schema of the result of a query
DESCRIBE SELECT * FROM CsseCovid19Daily;
-- view the schema of a table
DESCRIBE CsseCovid19Daily;

-- query parquet file
SELECT * FROM 'https://shell.duckdb.org/data/tpch/0_01/parquet/lineitem.parquet';

用户可以自定义 sql 分析查询得到结果, 并导出为本机 csv 文件。

命名空间

WASM 数据库默认使用的命名空间是 main, 如果想要改变所属的数据库命名空间可以在菜单 常规 -> 首选项 -> 数据目录 中输入所使用的命名空间名称。

创建共享维度

接下来是使用添加的文件物理表创建模型, 详细过程可以参考 维度设计器. 使用表 Countries 创建共享维度 Country

Tiny Shadow

依次添加层级:

  1. region
  2. sub-region
  3. name

共享维度的详细创建教程可以参考 维度设计器

创建多维数据集

使用表 CsseCovid19Daily 创建多维数据集 Covid19Daily.

将共享维度拖至维度区域并设置关联事实表外键字段, 创建 Confirmed 度量. 拖动维度和度量至预览区域进行数据预览.

详细的 SQL 建模功能参考 SQL 模型

浏览器版本支持

浏览器版本支持

caution

大数据量的 Excel 文件在移动端转换时可能无法处理.