WASM 模型
WASM 模型是利用 WASM 技术将分析数据库运行在浏览器内, 对在线数据进行分析的模型. WASM 模型支持以下几种数据源类型:
- CSV
- JSON
- Parquet
- Excel
创建 WASM 模型
在模型列表页面点击更多菜单中的创建 WASM 模型, 在弹窗中输入模型名称, 点击应用进行创建. 打开新建的模型.
添加数据文件
在建模之前首先需要添加数据表.
- 在数据表区域点击添加按钮, 创建数据表.
- 输入表名称: CsseCovid19Daily
- 选择类型: csv
- 分隔符: 默认空或者 ,
- 输入链接 https://app.mtda.cloud/assets/data/CsseCovid19Daily.csv 也可以上传数据文件到网络存储, 然后网络存储的链接地址自动填入链接地址:
- 点击下一步可以预览数据, (如果文件数据量比较大, 页面会有卡顿现象), (调整
Last_Update
字段类型为Date
) - 确认无误后, 点击应用即添加文件(表)到模型.
企业租户可以自定义网络存储配置。
文件详细配置:
属性 | 说明 | 值 |
---|---|---|
名称 | 表名称 | 任意合法的表名称 (参考 PostgreSQL) |
类型 | 在线文件类型 | CSV, JSON, Parquet, Excel |
第一行是标题 | 当文件类型是 CSV 时, 文件的第一行是否为列标题 | |
分隔符 | 当文件类型是 CSV 时, 列分隔符 | |
链接 | 在线文件的链接地址 |
数据表添加成功后, 可以通过查询界面进行验证数据正确性. 在查询界面中输入执行 SQL, 看是否能得到 CSV 文件中的数据
查询语句为
select * from CsseCovid19Daily LIMIT 20
同理添加另外一个表
- 表名 Countries
- 类型 csv
- 输入链接 https://app.mtda.cloud/assets/data/ISO-3166-Countries.csv
初始化脚本
除了使用配置在线文件的方式新增表之外, 还可以使用 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
依次添加层级:
- region
- sub-region
- name
共享维度的详细创建教程可以参考 维度设计器
创建多维数据集
使用表 CsseCovid19Daily 创建多维数据集 Covid19Daily.
将共享维度拖至维度区域并设置关联事实表外键字段, 创建 Confirmed 度量. 拖动维度和度量至预览区域进行数据预览.
详细的 SQL 建模功能参考 SQL 模型
浏览器版本支持
大数据量的 Excel 文件在移动端转换时可能无法处理.