全部產品
Search
文件中心

Tablestore:通過命令列工具CLI使用時序模型

更新時間:Jul 19, 2024

Tablestore提供了管理主控台、命令列工具(Tablestore CLI)和Tablestore SDK三種訪問方式。通過Tablestore CLI使用Tablestore時序模型(TimeSeries)時,您需要根據所用平台下載相應命令列工具,然後使用命令列工具進行開通Table Store服務、建立執行個體、配置接入執行個體資訊、建立時序表、讀寫時序表中資料以及使用SQL查詢資料的操作。

前提條件

已擷取用於動作表格儲存的阿里雲帳號或者RAM使用者的登入資訊。

如果未註冊阿里雲帳號,您需要在阿里雲官網註冊阿里雲帳號

如果要使用RAM使用者體驗Table Store功能,您需要使用阿里雲帳號建立RAM使用者並授予RAM使用者訪問Tablestore的許可權。具體操作,請參見通過RAM Policy為RAM使用者授權

注意事項

  • 目前支援使用時序模型功能的地區有華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華北6(烏蘭察布)、華南1(深圳)、中國香港、德國(法蘭克福)、美國(維吉尼亞)、印度(孟買)關停中、沙特(利雅得)和新加坡。

  • 通過命令列工具只能建立按量模式下的高效能執行個體。如果要建立按量模式下的容量型執行個體,請通過控制台建立執行個體。具體操作,請參見建立執行個體或者建立時序模型執行個體

步驟一:下載並啟動命令列工具

  1. 根據所用平台下載命令列工具。

    平台

    下載地址

    Windows

    Windows10及之後版本

    Linux

    macOS

  2. 解壓縮下載的工具包,進入命令列工具根目錄後,根據所用平台選擇相應方式啟動命令列工具。

    • 對於Windows平台,雙擊ts.exe檔案。

    • 對於Linux和Mac平台,執行./ts命令。

      說明

      如果在Linux系統或者Mac系統下無可執行許可權,請執行chmod 755 ts命令賦權後再啟動命令列工具。

    啟動介面如下所示。

    # Welcome to use Command Line Tool for Aliyun Tablestore. Current Version is '2021-11-11'.
    #    _______      _      _              _
    #   |__   __|    | |    | |            | |
    #      | |  __ _ | |__  | |  ___   ___ | |_   ___  _ __    ___
    #      | | / _' || '_ \ | | / _ \ / __|| __| / _ \ | '__| / _ \
    #      | || (_| || |_) || ||  __/ \__ \| |_ | (_) || |   |  __/
    #      |_| \__,_||_.__/ |_| \___| |___/ \__| \___/ |_|    \___|
    #
    # Please visit our product website: https://www.aliyun.com/product/ots
    # You can also join our DingTalk Chat Group (ID: 11789671 or 23307953) to discuss and ask Tablestore related questions.
    #
    tablestore>

步驟二:開通Tablestore服務

如果已經開通Tablestore服務,請跳過此操作。服務僅需開通一次,開通過程免費。

  1. 通過config命令配置AccessKey資訊。更多資訊,請參見啟動並配置接入資訊

    重要

    此處必須使用阿里雲帳號的AccessKey(包括AccessKey ID和AccessKey Secret)。關於擷取AccessKey的具體操作,請參見擷取AccessKey

    config --id NTS********************** --key 7NR2****************************************
  2. 執行enable_service命令,開通Tablestore服務。

步驟三:建立執行個體

通過create_instance命令建立一個高效能執行個體。更多資訊,請參見執行個體操作

執行以下命令,在華東1(杭州)地區建立myinstance執行個體,執行個體類型為高效能執行個體。

create_instance -d "First instance created by CLI." -n myinstance -r cn-hangzhou

步驟四:配置接入執行個體資訊

通過config命令配置接入資訊。更多資訊,請參見啟動並配置接入資訊

執行以下命令,使用已建立的myinstance執行個體配置接入資訊。

config --endpoint https://myinstance.cn-hangzhou.ots.aliyuncs.com --instance myinstance --id NTSVLeBHzgX2iZfcaXXPJ**** --key 7NR2DiotscDbauohSq9kSHX8BDp99bjs7eNpCR7o****

步驟五:建立並使用時序表

建立時序表後,選擇要進行操作的時序表,用於後續表操作或者資料操作。

  1. 執行以下命令,建立mytable時序表。

    create -m timeseries -t mytable --ttl -1
  2. 執行use --ts -t mytable命令,使用mytable時序表。

步驟六:資料操作

根據需要進行資料操作,您可以寫入時序資料、匯入時序資料、查詢時序資料、檢索時間軸、掃描時間軸以及更新時間軸。

  • 匯入時序資料

    匯入import_timeseries.txt檔案中的時序資料到時序表中。

    import_timeseries --input /temp/import_timeseries.txt
    設定檔的樣本如下:
    cpu,hostname=host_0,region=cn-hangzhou usage_user=58i,usage_system=2i,usage_idle=24i 1609459200000000000
    cpu,hostname=host_1,region=cn-hangzhou usage_user=58i,usage_system=2i,usage_idle=24i 1609459200000000000
  • 查詢時序資料

    查詢度量名稱為cpu,資料來源標識為host_0,且標籤為"hostname=host_0"和"region=cn-hangzhou"的時間軸中1667638230000000之前產生的所有時序資料。

    getts --k '["cpu","host_0",["hostname=host_0","region=cn-hangzhou"]]' --time_start 0 --time_end 1667638230000000 --limit 100
  • 檢索時序線

    檢索度量名稱為cpu且資料來源標識為host_0的時間軸。

    query_ts_meta --measurement cpu --datasource host_0 --limit 10
  • 掃描時間軸

    query_ts_meta --limit 10
  • 更新時間軸

    更新指定時間軸的屬性為"hostname=host_1"和"region=cn-hangzhou"。

    update_ts_meta --k '["cpu","host_1",["hostname=host_1","region=cn-hangzhou"]]' --attrs '["hostname=host_1","region=cn-hangzhou"]' 

步驟七:使用SQL查詢資料

如果要使用SQL語句快速查詢表中資料,請執行以下步驟:

  1. 執行sql命令,進入SQL模式。

  2. 根據需要查詢mytable表中的資料。

    • 如果要檢索時間軸,選擇時間軸中繼資料映射表後,執行SELECT語句查詢所需時間軸。

      例如要查詢時序中繼資料映射表mytable::meta中cpu度量類型下的時間軸,SQL樣本如下:

      SELECT * FROM `mytable::meta` WHERE _m_name = "cpu" LIMIT 100;
    • 如果要以單值模型查詢時序資料,選擇單值模型映射表後,執行SELECT語句查詢滿足條件的時序資料。

      例如要查詢單值模型映射表mytable中cpu度量類型的資料,SQL樣本如下:

      SELECT * FROM mytable WHERE _m_name = "cpu" LIMIT 10;
    • 如果要以多值模型查詢時序資料,建立多值模型映射關係後,執行SELECT語句查詢滿足條件的時序資料。

      例如要查詢多值模型映射表mytable::muti_model中cpu大於20.0的所有度量資訊,SQL樣本如下:

      SELECT usage_idle,usage_user,usage_system FROM `mytable::muti_model1` WHERE usage_idle > 20 LIMIT 10;

如果要退出SQL模式,請執行exit;命令。

相關文檔