全部產品
Search
文件中心

Lindorm:快速入門

更新時間:Jan 23, 2026

本文介紹如何通過Lindorm計算引擎的OLAP或ETL資源群組快速使用SQL語言讀寫資料。

前提條件

  • 已開通Lindorm寬表引擎。具體操作,請參見建立執行個體

  • 已開通Lindorm計算引擎。具體操作,請參見服務開通

  • 已將用戶端IP地址添加至Lindorm白名單。具體操作,請參見設定白名單

使用OLAP資源群組

計算引擎OLAP資源群組提供了相容MySQL的提供者,面向查詢分析情境,具備高並發低延遲查詢響應能力。OLAP資源群組開通後分配常駐計算資源,確保查詢快速響應

步驟一:建立OLAP資源群組

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

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

  3. 资源组详情頁中單擊创建资源组,配置以下內容:

    參數

    說明

    资源组类型

    選擇OLAP

    资源组名称

    資源群組的名字,僅支援小寫字母和數字,且長度不超過63個字元。例如cg0

    节点规格

    選擇節點規格。

    作业工作节点数

    取值範圍:[4,1024],預設值為4

  4. 單擊確定,建立資源群組。

    說明

    建立過程大約需要20分鐘。

  5. 资源组详情介面,新建立的資源群組状态&描述信息處於运行中後,您可以將懸浮滑鼠在OLAP資源群組名稱之上,擷取OLAP資源群組VPC內網串連地址,例如jdbc:mysql://ld-bp1dv48fk0yg0****-olap-proxy-ldps.lindorm.aliyuncs.com:9030

  6. 配置MySQL用戶端後,通過JDBC串連指定OLAP資源群組的VPC內網地址,並使用Lindorm寬表引擎的使用者名稱和密碼登入,即可通過MySQL協議串連到OLAP資源群組執行SQL查詢。

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

步驟二:訪問資料

訪問列存資料

列存資料是相容Iceberg生態的列式儲存資料湖。資料存放區在Lindorm執行個體的檔案引擎之中,可以通過OLAP資源群組寫入與查詢資料。

列存資料存放區在名為lindorm_columnar的Catalog(用來標識不同的資料來源)中,通過MySQL協議串連成功後,預設訪問列存資料的Catalog。您也可以執行SET CATALOG lindorm_columnar;顯式切換到列存資料Catalog中。

  1. 建立並使用資料庫。

    -- 建立資料庫
    CREATE DATABASE olapdemo;
    
    -- 使用該資料庫
    USE olapdemo;
  2. 建立資料表並寫入資料。

    -- 建立表
    CREATE TABLE test (id INT, name STRING) ENGINE = iceberg;
    
    -- 插入資料
    INSERT INTO test VALUES (0, 'Jay'), (1, 'Edison');
  3. 查詢資料。

    • 樣本1:

      SELECT id, name FROM test WHERE id != 0;

      返回結果:

      +------+--------+
      | id   | name   |
      +------+--------+
      |    1 | Edison |
      +------+--------+
    • 樣本2:

      SELECT count(distinct name) FROM test;

      返回結果:

      +----------------------+
      | count(DISTINCT name) |
      +----------------------+
      |                    2 |
      +----------------------+
    • 樣本3:

      SELECT * FROM
       (SELECT id, name FROM test WHERE id != 0) t0
       JOIN
       (SELECT id, name FROM test WHERE id != 2) t1
       ON t0.id=t1.id;
      +------+--------+------+--------+
      | id   | name   | id   | name   |
      +------+--------+------+--------+
      |    1 | Edison |    1 | Edison |
      +------+--------+------+--------+
  4. 刪除表。

    DROP TABLE test;
  5. 刪除資料庫。

    DROP DATABASE olapdemo;

訪問寬表資料

OLAP資源群組支援直接查詢寬表引擎中的資料,可藉助其計算能力高效執行複雜查詢計算。OLAP資源群組不支援建立或寫入寬表引擎資料表,只支援資料的查詢操作。

寬表引擎資料存放區在名為lindorm_table的Catalog中。訪問寬表引擎中的資料,需顯式執行SET CATALOG lindorm_table;切換至該Catalog中。

若您已有可使用的寬表,請直接進入下一步。若您尚未建立,請串連寬表引擎,參考以下語句建立寬表tb

-- 建立資料庫
CREATE DATABASE test; 

--使用該資料庫
USE test; 

--建立資料表,並插入兩條資料
CREATE TABLE tb (id varchar, name varchar, address varchar,  primary key(id, name)) ; 
UPSERT INTO tb (id, name, address) values ('001', 'Jack',  'hz'); 
UPSERT INTO tb (id, name, address) values ('002', 'Edison',  'bj'); 

在串連OLAP資源群組的MySQL命令列工具中,執行以下查詢語句訪問寬表資料。

  1. 顯式切換資料來源並使用資料庫。

    -- 顯式切換資料來源
    SET CATALOG lindorm_table;
    
    -- 使用test資料庫
    USE test;
  2. 查詢寬表資料。

    • 樣本1:

      SELECT * FROM tb LIMIT 5;

      返回結果:

      +------+--------+---------+
      | id   | name   | address |
      +------+--------+---------+
      | 001  | Jack   | hz      |
      | 002  | Edison | bj      |
      +------+--------+---------+
    • 樣本2:

      SELECT count(*) FROM tb;

      返回結果:

      +----------+
      | count(*) |
      +----------+
      |        2 |
      +----------+

使用ETL資源群組

計算引擎ETL資源群組提供Serverless的Spark SQL查詢與寫入能力,資源按需申請,自動釋放,適合低頻查詢或離線報表查詢情境。

步驟一:開通資源群組

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

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

  3. 资源组详情頁中單擊创建资源组,配置以下內容:

    參數

    說明

    资源组类型

    選擇ETL

    资源组名称

    資源群組的名字,僅支援小寫字母和數字,且長度不超過63個字元。例如cg0

    单日资源消耗限额

    資源群組每日消耗的能力單元CU(Capacity Unit)資源上限,單位為CU*Hour。預設值為100000

    重要

    超出上限,作業會被強制立即刪除。穩定性要求高的資源群組可以配置為0,表示無限制。

    CPU上限(核)

    資源群組CPU上限。取值範圍:[100,100000]。

    内存上限(GB)

    資源群組記憶體上限。取值範圍:[400G,1000000G],無預設值。

    授权用户

    預設值為*,代表允許所有使用者訪問資源群組。

  4. 單擊確定,建立資源群組。

步驟二:環境準備

說明

以下環境均部署於與Lindorm執行個體處於同一VPC網路的ECS執行個體內。

  1. 安裝Java環境且JDK為1.8及以上版本。

  2. 下載Spark

  3. 解壓Spark安裝包。

  4. 使用解壓後的路徑設定SPARK_HOME環境變數。

export SPARK_HOME=/path/to/spark/;
  1. 填寫設定檔:$SPARK_HOME/conf/beeline.conf

    • endpoint:Lindorm計算引擎的JDBC地址。如何擷取,請參見查看串連地址

    • user:寬表引擎的使用者名稱。

    • password:寬表使用者名稱對應的密碼。

    • shareResource:相同使用者的多個會話之間是否共用計算資源,預設值為true

    • compute-group:設定要使用的計算引擎ETL資源群組的名字,不設定則預設為default

  2. 進入$SPARK_HOME/bin目錄並運行./beeline命令。您將看到以下資訊:

    Welcome to Lindorm Distributed Processing System (LDPS) !!!
    Initializing environment. It might take minutes ...
    Environemnt prepared. You may visit your jdbc cluster by below url:
    http://alb-boqak6zfns5gzx****.cn-hangzhou.alb.aliyuncsslb.com/proxy/75ce76086b61470da7046bd4c2b7****
    Please note -- you are sharing this JDBC cluster between SQL sessions from the same user.
    The cluster will be released by auto if idle for 4 hours.
    You may also kill it manually by visiting above web url and clicking 'kill' in tab of 'Query Engine'
    lindorm-beeline>

    在互動會話中輸入SQL語句,執行寫入或查詢操作。

    說明

    通過返回資訊中的連結http://alb-boqak6zfns5gzx****.cn-hangzhou.alb.aliyuncsslb.com/proxy/75ce76086b61470da7046bd4c2b7****,您可以訪問計算引擎的SparkUI介面

步驟三:訪問資料

訪問列存資料

列存資料是相容Iceberg生態的列式儲存資料湖,資料存放區在Lindorm執行個體的檔案引擎之中,可以通過Spark SQL來寫入和查詢資料。

列存資料存放區在名為lindorm_columnar的Catalog(用來標識不同的資料來源)中,通過MySQL協議串連成功後,預設訪問列存資料的Catalog。您也可以執行SET CATALOG lindorm_columnar;顯式切換到列存資料Catalog中。

  1. 建立並使用資料庫。

    -- 建立資料庫
    CREATE DATABASE etldemo;
    
    -- 使用該資料庫
    USE etldemo;
  2. 建立資料表並寫入資料

    -- 建立表
    CREATE TABLE test (id INT, name STRING);
    
    -- 插入資料
    INSERT INTO test VALUES (0, 'Jay'), (1, 'Edison');
  3. 查詢資料。

    • 樣本1:

      SELECT id, name FROM test WHERE id != 0;

      返回結果:

      +------+--------+
      | id   | name   |
      +------+--------+
      |    1 | Edison |
      +------+--------+
    • 樣本2:

      SELECT count(distinct name) FROM test;

      返回結果:

      +----------------------+
      | count(DISTINCT name) |
      +----------------------+
      |                    2 |
      +----------------------+
    • 樣本3:

      SELECT * FROM
       (SELECT id, name FROM test WHERE id != 0) t0
       JOIN
       (SELECT id, name FROM test WHERE id != 2) t1
       ON t0.id=t1.id;
      +------+--------+------+--------+
      | id   | name   | id   | name   |
      +------+--------+------+--------+
      |    1 | Edison |    1 | Edison |
      +------+--------+------+--------+
  4. 刪除表。

    DROP TABLE test;
  5. 刪除資料庫。

    DROP DATABASE etldemo;

訪問寬表資料

ETL資源群組中的Spark SQL串連可以查詢寬表引擎中的資料,可以利用彈性的計算能力,在寬表的資料上完成比較複雜的查詢計算。Spark SQL串連不支援寬表引擎的DDL語句,比如建表、刪表等,可以查詢寬表引擎中的資料。

寬表引擎資料存放區在名為lindorm_table的Catalog中。訪問寬表引擎中的資料,需顯式執行SET CATALOG lindorm_table;切換至該Catalog中。

若您已有可使用的寬表,請直接進入下一步。若您尚未建立,請串連寬表引擎,參考以下語句建立寬表tb

-- 建立資料庫
CREATE DATABASE test; 

--使用該資料庫
USE test; 

--建立資料表,並插入兩條資料
CREATE TABLE tb (id varchar, name varchar, address varchar,  primary key(id, name)) ; 
UPSERT INTO tb (id, name, address) values ('001', 'Jack',  'hz'); 
UPSERT INTO tb (id, name, address) values ('002', 'Edison',  'bj'); 

在lindorm-beeline互動會話中,執行以下查詢語句訪問寬表資料。

  1. 顯式切換資料來源並使用資料庫。

    -- 顯式切換資料來源
    SET CATALOG lindorm_table;
    
    -- 使用test資料庫
    USE test;
  2. 查詢寬表資料。

    樣本1:

    SELECT * FROM tb LIMIT 5;

    返回結果:

    +------+--------+---------+
    | id   | name   | address |
    +------+--------+---------+
    | 001  | Jack   | hz      |
    | 002  | Edison | bj      |
    +------+--------+---------+

    樣本2:

    SELECT count(*) FROM tb;

    返回結果:

    +-----------+
    | count(1)  |
    +-----------+
    | 2         |
    +-----------+