全部產品
Search
文件中心

Lindorm:資料訪問

更新時間:Jan 29, 2026

本文介紹通過OLAP資源群組訪問湖模式列存資料、AP模式列存資料和寬表引擎資料的方法。相比寬表引擎內建的SQL功能,OLAP資源群組提供更完整的SQL分析能力,適用于海量資料的高並發分析情境。

前提條件

擷取OLAP資源群組串連地址並串連

  1. 登入Lindorm管理主控台。在左上方選擇執行個體所屬的地區。在实例列表頁,單擊目標執行個體ID或者目標執行個體所在行操作列的管理

  2. 实例详情頁的配置信息地區,單擊计算引擎操作列的资源组管理

  3. 资源组详情介面,選擇已建立的状态&描述信息运行中的OLAP資源群組,將滑鼠移至上方在該OLAP資源群組名稱之上,擷取OLAP資源群組VPC內網串連地址,例如jdbc:mysql://ld-bp1dv48fk0yg0****-olap-proxy-ldps.lindorm.aliyuncs.com:9030

  4. 配置MySQL用戶端後,通過JDBC串連OLAP資源群組的VPC內網地址(需去掉末尾的冒號及連接埠號碼),並使用Lindorm寬表引擎的使用者名稱和密碼登入,即可通過MySQL協議串連到OLAP資源群組。

    mysql -hld-bp1dv48fk0yg0****-olap-proxy-ldps.lindorm.aliyuncs.com -P9030 -uroot -p

    執行以上語句後,可以看到MySQL命令列提示符,即可輸入需要執行的SQL語句。

訪問資料

OLAP資源群組支援存算分離的計算形態,支援直接存取湖模式列存資料、AP模式列存資料和寬表引擎三種內部資料來源,使用Catalog進行資料來源區分。

可通過以下SQL語句實現資料來源間的靈活切換:

  • 切換至寬表資料來源:SET CATALOG lindorm_table;

  • 切換至湖模式列存資料來源:SET CATALOG lindorm_columnar;

  • 切換至AP模式列存資料來源: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 並寫入資料,相關語句樣本如下:

-- 建立資料庫
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語句。

訪問AP模式列存資料

使用語句SET CATALOG default_catalog;切換到AP模式列存資料。資料表生命週期管理相關語句樣本如下:

-- 切換 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;

更多詳情可參考訪問AP模式列存表

通過寬表引擎使用OLAP資源群組

OLAP資源群組可作為寬表引擎的擴充查詢引擎。您只需串連寬表引擎地址,通過在SQL中指定Hint,即可將複雜查詢定向轉寄至OLAP資源群組執行,無需單獨串連OLAP資源群組。這樣,您既能利用寬表引擎的高並發查詢能力,又能調用OLAP資源群組的複雜分析能力,實現SQL語句的智能分發。

當通過MySQL或Lindorm-cli串連到Lindorm寬表引擎後,可使用Hint: _use_ldps_ 將特定SQL轉寄至OLAP資源群組執行,例如:

-- 使用資料庫
USE db01;

-- 將查詢轉寄到預設OLAP資源群組
SELECT /*+ _use_ldps_ */ * FROM tb01 LIMIT 5;

-- 將查詢轉寄到指定 OLAP 資源群組
SELECT /*+ _use_ldps_(olap_cg_name) */ * FROM tb01 LIMIT 5;

Hint的格式是:/*+ _use_ldps_(olap_cg_name) */必須出現在最外層SELECT關鍵字的後面。其中(olap_cg_name)部分用來指定查詢要轉寄到的OLAP資源群組名稱。如果未指定,則查詢會被轉寄到預設資源群組

進階用法

在轉寄至OLAP資源群組時,可以指定查詢語句執行時的會話變數,以便能精細化控制查詢時的具體行為。指定變數的樣本如下:

-- 指定查詢的會話變數
SELECT /*+ _use_ldps_ */ /*+ 
SET_VAR(enable_lindorm_table_concurrent_scan = false) */ * FROM tb01 
LIMIT 5;

-- 指定多個查詢的會話變數
SELECT /*+ _use_ldps_ */ /*+ 
SET_VAR(enable_lindorm_table_concurrent_scan = false, 
enable_build_join_filter_from_lindorm_table_in_opt = true) */ * FROM 
tb01 LIMIT 5;

指定會話變數的Hint格式為:/*+ SET_VAR(enable_lindorm_table_concurrent_scan = false) */,其中變數是以key = value方式指定,多個變數間可以用逗號分隔,具體支援的變數資訊見下節。這個Hint的位置是接在上面轉寄OLAP資源群組的Hint之後,不能與轉寄Hint共用一個註解區塊。

說明

指定會話Hint的位置是接在轉寄OLAP資源群組的Hint之後,不能與轉寄Hint共用一個註解區塊。

參數說明

變數

類型

預設值

說明

enable_build_join_filter_from_lindorm_table_in_opt

BOOL

FALSE

在對寬表引擎中兩表進行JOIN關聯時,可以根據右表的查詢結果,產生左表的過濾條件並下推,以加速左表資料掃描過程。

enable_lindorm_table_concurrent_scan

BOOL

TRUE

該參數控制讀取Lindorm寬表的並發行為。配置為TRUE時,則以多並發方式掃描寬表;配置為FALSE時,則以單並發方式掃描寬表。