すべてのプロダクト
Search
ドキュメントセンター

Lindorm:Lindorm-cli を使用した LindormTSDB への接続と使用

最終更新日:Nov 09, 2025

Lindorm-cli は、Lindorm データベースへの接続と管理のために Lindorm が提供する軽量のコマンドラインインターフェイス (CLI) です。Lindorm-cli を使用して、テーブルの作成、データのクエリ、データの書き込みなどの基本的な SQL 操作を実行できます。このトピックでは、Lindorm-cli を使用して Lindorm 時系列データベース (LindormTSDB) に接続して使用する方法について説明します。

前提条件

クライアントの IP アドレスが Lindorm のホワイトリストに追加されていること。詳細については、「ホワイトリストを設定する」をご参照ください。

ステップ 1: Lindorm-cli のインストール

  1. お使いのオペレーティングシステムに対応する Lindorm-cli インストールパッケージをダウンロードします。ダウンロードリンクは次の表にリストされています。

    説明

    次の表の SHA256 チェックサムを使用して、ダウンロードした Lindorm-cli インストールパッケージの整合性と信頼性を検証できます。

    オペレーティングシステム

    ダウンロードリンク

    SHA256 チェックサム

    Linux

    Linux 用 lindorm-cli

    次のコマンドを実行してパッケージをダウンロードすることもできます:

    wget https://tsdbtools.oss-cn-hangzhou.aliyuncs.com/lindorm-cli-linux-latest.tar.gz

    21945c466e2de2c256edd16afdfbb2234301573feb649a673939471a3d882b1a

    Linux-arm64

    linux-arm64 用 lindorm-cli

    次のコマンドを実行してパッケージをダウンロードすることもできます:

    wget https://tsdbtools.oss-cn-hangzhou.aliyuncs.com/lindorm-cli-linux-arm64-latest.tar.gz

    bcae4d8479201d69e4883105d1a7f933fa46d78e19c171e8e1ebfbee28f6d953

    Mac (Intel チップ)

    Mac 用 lindorm-cli

    e82cb1678ea5b263813ccb87fff0149526c36a2654082785efe5a6aaeb4eb24b

    Mac (Arm チップ)

    Mac 用 lindorm-cli

    538d5fef122b416ca2ab63fd7074b77ef25840e9feb8d3490405aae36a537a68

    Windows

    windows-x64 用 lindorm-cli

    e61078108a72b85382363e9619b8820aa5245bad60dec79ffd4bf9fea976e280

  2. インストールパッケージを解凍します。

    たとえば、Linux オペレーティングシステムでは、次のコマンドを実行してパッケージを解凍します。

    tar zxvf lindorm-cli-linux-latest.tar.gz

    パッケージが解凍されると、lindorm-cli ファイルは lindorm-cli-linux-latest フォルダに保存されます。

ステップ 2: LindormTSDB への接続

クライアントが Linux または macOS にデプロイされている場合

  1. lindorm-cli ファイルが保存されているフォルダに移動します。

    cd <The folder where lindorm-cli is stored>
  2. 次の文を実行して LindormTSDB に接続します。

    ./lindorm-cli -url <LindormTSDB SQL URL> -username <username> -password <password> -database <destination database name>

    接続例

    ./lindorm-cli -url jdbc:lindorm:tsdb:url=http://ld-4xo90g5i370cu****-proxy-tsdb.lindorm.rds.aliyuncs.com:8242 -username user -password test -database default

    パラメーターの説明

    パラメーター

    必須

    説明

    LindormTSDB SQL URL

    はい

    LindormTSDB の LindormTSDB SQL URL。例: jdbc:lindorm:tsdb:url=http://ld-bp12pc23yfb3*****-proxy-tsdb-pub.lindorm.rds.aliyuncs.com:8242

    説明

    Lindorm-cli を使用して LindormTSDB に接続するために LindormTSDB HTTP URL を使用することもできます。

    ユーザー名

    いいえ

    LindormTSDB への接続に使用されるユーザー名。

    LindormTSDB でユーザー認証と権限検証が有効になっていない場合、ユーザー名とパスワードを設定する必要はありません。詳細については、「ユーザーと権限の管理」をご参照ください。

    パスワード

    いいえ

    LindormTSDB への接続に使用されるパスワード。パスワードを忘れた場合は、LindormTable のクラスター管理システムでパスワードを変更できます。

    ターゲットデータベース名

    いいえ

    Lindorm-cli を使用して接続するデータベース。デフォルトのデータベースは `default` です。接続中に、use <ターゲットデータベース名> 文を実行してターゲットデータベースに切り替えることができます。

    接続が成功すると、次の結果が返されます:

    lindorm-cli version: 1.0.xx

    上記の結果では、1.0.xx は Lindorm-cli のバージョン番号を示します。

クライアントが Windows オペレーティングシステムにデプロイされている場合

方法 1

  1. コマンドプロンプト (CMD) を開き、lindorm-cli.exe ファイルが保存されているフォルダに移動します。

    cd <The folder where lindorm-cli.exe is stored>
  2. コマンドプロンプトで次のコマンドを実行して LindormTSDB に接続します:

    lindorm-cli -url <LindormTSDB endpoint for SQL> -username <username> -password <password> -database <Database name>

    接続が成功すると、次の結果が返されます:

    Connected to jdbc:lindorm:tsdb:url=http://****-proxy-tsdb-pub.lindorm.rds.aliyuncs.com:8242
    lindorm-cli version: 1.0.xx

    この結果では、1.0.xx は Lindorm-cli のバージョン番号です。

方法 2

Lindorm-cli.exe プログラムをダブルクリックし、次の文を実行します:

connect <LindormTSDB SQL URL> <username> <password> -database <destination database name>

接続が成功した場合、結果は返されません。

ステップ 3: LindormTSDB の使用

テーブルの作成

  1. 時系列データテーブルを作成します。

    CREATE TABLE sensor (
        device_id VARCHAR NOT NULL,
        region VARCHAR NOT NULL,
        time TIMESTAMP NOT NULL,
        temperature DOUBLE,
        humidity BIGINT,
        PRIMARY KEY(device_id, region, time)
    );
    説明
    • 時系列データテーブルを作成するときは、プライマリキー (PRIMARY KEY) を指定することをお勧めします。Basic Edition は PRIMARY KEY をサポートしていません。データソースの一意の識別子は、通常、IoT シナリオのデバイス ID、IoV (Internet of Vehicles) シナリオの一意の車両識別子、または監視シナリオのアプリケーション ID や ip:port など、PRIMARY KEY として指定されます。

    • タイムスタンプ列の名前は time である必要があります。この列は、データのタイムスタンプをミリ秒 (ms) 単位で示します。

  2. sensor テーブルが作成されたかどうかを確認します。

    SHOW TABLES;

    次の結果が返されます:

    +-------------------+
    | Tables_In_default |
    +-------------------+
    | sensor            |
    +-------------------+
  3. 時系列データテーブルのフィールド情報を表示します。

    DESCRIBE TABLE sensor;

    次の結果が返されます:

    +-------------+-----------+------------+------------+--------------+
    | columnName  | typeName  | columnKind | primaryKey | partitionTag |
    +-------------+-----------+------------+------------+--------------+
    | device_id   | VARCHAR   | TAG        | true       | true         |
    | region      | VARCHAR   | TAG        | true       | true         |
    | time        | TIMESTAMP | TIMESTAMP  | true       | false        |
    | temperature | DOUBLE    | FIELD      | false      | false        |
    | humidity    | BIGINT    | FIELD      | false      | false        |
    +-------------+-----------+------------+------------+--------------+

データの書き込み

説明

データポイントが同じタグとタイムスタンプを持つ場合、それらは同じデータポイントと見なされます。後から書き込まれたデータは、先に書き込まれたデータを上書きします。

  • データポイントを 1 つずつ書き込みます。

    INSERT INTO sensor (device_id, region, time, temperature, humidity) VALUES('F07A1260','north-cn','2021-04-22 15:33:00',12.1,45);
    INSERT INTO sensor (device_id, region, time, temperature, humidity) VALUES('F07A1260','north-cn','2021-04-22 15:33:10',13.2,47);
    INSERT INTO sensor (device_id, region, time, temperature, humidity) VALUES('F07A1260','north-cn','2021-04-22 15:33:20',10.6,46);
    INSERT INTO sensor (device_id, region, time, temperature, humidity) VALUES('F07A1261','south-cn','2021-04-22 15:33:00',18.1,44);
    INSERT INTO sensor (device_id, region, time, temperature, humidity) VALUES('F07A1261','south-cn','2021-04-22 15:33:10',19.7,44);
  • データをバッチで書き込みます。

    INSERT INTO sensor (device_id, region, time, temperature, humidity) 
    VALUES ('F07A1260','north-cn','2021-04-22 15:33:00',12.1,45),
           ('F07A1260','north-cn','2021-04-22 15:33:10',13.2,47),
           ('F07A1260','north-cn','2021-04-22 15:33:20',10.6,46),
           ('F07A1261','south-cn','2021-04-22 15:33:00',18.1,44),
           ('F07A1261','south-cn','2021-04-22 15:33:10',19.7,44);

データのクエリ

条件付きクエリ

デバイス F07A1260 のデータを 2021-04-22 15:33:00 から 2021-04-22 15:33:20 までクエリします:

SELECT device_id,region,time,temperature,humidity FROM sensor WHERE device_id = 'F07A1260' AND time >= '2021-04-22 15:33:00' AND time <= '2021-04-22 15:33:20';

次の結果が返されます:

+-----------+----------+---------------------------+-------------+----------+
| device_id |  region  |           time            | temperature | humidity |
+-----------+----------+---------------------------+-------------+----------+
| F07A1260  | north-cn | 2021-04-22T15:33:00+08:00 | 12.1        | 45       |
| F07A1260  | north-cn | 2021-04-22T15:33:10+08:00 | 13.2        | 47       |
| F07A1260  | north-cn | 2021-04-22T15:33:20+08:00 | 10.6        | 46       |
+-----------+----------+---------------------------+-------------+----------+

ダウンサンプリングクエリ

ダウンサンプリングクエリは、時系列データのサンプルレートを減らします。これにより、結果セット内のデータポイントの数が減少します。

次の例は、デバイス F07A1260 の温度を 2021-04-22 15:33:00 から 2021-04-22 15:33:20 までクエリし、20 秒間隔でダウンサンプリングした後の最高温度値を取得する方法を示しています:

SELECT device_id,region,time,max(temperature) AS max_temperature FROM sensor WHERE device_id = 'F07A1260' AND time >= '2021-04-22 15:33:00' AND time <= '2021-04-22 15:33:20' SAMPLE BY 20s;

次の結果が返されます:

+-----------+----------+---------------------------+-----------------+
| device_id |  region  |           time            | max_temperature |
+-----------+----------+---------------------------+-----------------+
| F07A1260  | north-cn | 2021-04-22T15:33:00+08:00 | 13.2            |
| F07A1260  | north-cn | 2021-04-22T15:33:20+08:00 | 10.6            |
+-----------+----------+---------------------------+-----------------+

集計クエリ

すべてのリージョンにわたる最高温度を計算します:

SELECT region,max(temperature) AS max_temperature FROM sensor WHERE time >= '2021-04-22 15:33:00' AND time <= '2021-04-22 15:33:20' GROUP BY region;

次の結果が返されます:

+----------+-----------------+
|  region  | max_temperature |
+----------+-----------------+
| north-cn | 13.2            |
| south-cn | 19.7            |
+----------+-----------------+

一般的な Lindorm-cli コマンド

  • help: ヘルプ情報を表示します。

  • connect: サーバーに接続します。

  • precision: 時刻表示フォーマットを指定します。有効な値は rfc3339、h、m、s、ms、u、および ns です。

  • exit または quit: 現在の LindormTSDB インスタンスから切断します。

よくある質問

データ挿入後にクエリ結果が空になるのはなぜですか?

データを書き込んだ後にクエリ結果が空になる場合は、DESCRIBE DATABASE <データベース名> 文を実行して、データベースに存続時間 (TTL) が設定されているかどうかを確認します。データの保持期間が TTL を超えると、データは自動的に削除され、クエリできなくなります。

Lindorm-cli を使用して時系列データをインポートおよびエクスポートできますか?

  • 少量のデータの場合、Lindorm-cli を使用して CSV ファイルを迅速にインポートまたはエクスポートできます。この機能については、Lindorm テクニカルサポート (DingTalk グループ番号: s0s3eg3) にお問い合わせください。

  • 大量のデータの場合、DataX を使用してデータをインポートすることをお勧めします。大規模なデータのエクスポートはサポートされていません。