数据访问指南

更新时间:
复制为 MD 格式

OLAP资源组支持存算分离的计算形态,支持直接访问湖模式列存数据、仓模式列存数据和宽表引擎三种内部数据源,使用Catalog进行数据源区分。

可通过以下SQL语句实现数据源间的灵活切换:

  • 切换至宽表数据源:SET CATALOG lindorm_table;

  • 切换至湖模式列存数据源:SET CATALOG lindorm_columnar;

  • 切换至仓模式列存数据源:SET CATALOG default_catalog;

执行切换操作后,可通过 SELECT catalog(); 查询当前连接的Catalog,有lindorm_table、lindorm_columnar 、default_catalog三种 Catalog。

访问宽表数据

Lindorm宽表引擎是面向海量结构化与半结构化数据设计的分布式存储系统,兼容HBase、Phoenix(SQL)、Cassandra等开源标准接口,支持单表百万亿级行数据存储、千万级并发访问、毫秒级响应,以及跨机房强一致容灾能力。其适用于元数据管理、订单账单、用户画像、社交图谱、日志分析等场景,可高效满足业务对大规模数据在线存储与实时查询的需求。

OLAP资源组支持连接至宽表引擎,通过独立计算资源和增强的查询能力,实现对宽表数据的实时分析。

使用语句SET CATALOG lindorm_table;连接到宽表引擎,连接到宽表引擎的 Catalog 之后,便可查看宽表引擎中的 Database 以及 Table了。相关语句示例如下:

--连接到宽表引擎
SET CATALOG lindorm_table;

-- 列出所有数据库
SHOW DATABASES;

-- 使用数据库
USE db01;

-- 列出所有表
SHOW TABLES;

-- 查询表
SELECT * FROM tb01 LIMIT 5;
重要

宽表引擎数据源使用限制:

  • 不支持创建/删除 Database。

  • 不支持创建/删除 Table,以及添加/删除列等 DDL 操作。

  • 不支持插入/删除数据行,如 INSERT INTO/ DELETE FROM 等 DML 操作。

更多详情可参考访问宽表数据

访问湖模式列存数据

湖模式列存数据兼容开源Iceberg,数据存储于Lindorm实例底层文件系统之中,同一实例中的OLAP资源组以及ETL资源组都共享同一份湖模式列存数据。

OLAP资源组连接后默认连接到湖模式列存数据,可使用SET CATALOG 语句切换到其它数据源之后,还可以再使用语句SET CATALOG lindorm_columnar;切换回湖模式列存数据。

湖模式列存数据中可以创建 Database 和 Table 并写入数据,相关语句示例如下:

SET CATALOG lindorm_columnar;

-- 创建数据库
CREATE DATABASE db01;

-- 使用数据库
USE db01;

-- 创建表
CREATE TABLE test (id INT, name STRING) ENGINE = iceberg;

-- 插入数据
INSERT INTO test VALUES (0, 'Jay'), (1, 'Edison');

-- 将查询结果写入表中
INSERT INTO test SELECT * FROM test;

-- 删除表
DROP TABLE test;

-- 删除数据库
DROP DATABASE db01;
重要

OLAP资源组不支持CREATE TABLE AS SELECT语句,以及DELETE FROM语句。

访问仓模式列存数据

使用语句SET CATALOG default_catalog;切换到仓模式列存数据。数据表生命周期管理相关语句示例如下:

-- 切换 catalog
SET CATALOG default_catalog;

-- 创建数据库
CREATE DATABASE db01;

-- 使用数据库
USE db01;

-- 创建表
CREATE TABLE test (id INT, name STRING);

-- 插入数据
INSERT INTO test VALUES (0, 'Jay'), (1, 'Edison');

-- 将查询结果写入表中
INSERT INTO test SELECT * FROM test;

-- 删除表
DROP TABLE test;

-- 删除数据库
DROP DATABASE db01;

更多详情可参考仓模式列存表