表格存儲提供了管理控制臺、命令行工具(Tablestore CLI)和Tablestore SDK三種訪問方式。通過Tablestore CLI使用表格存儲時序模型(TimeSeries)時,您需要根據所用平臺下載相應命令行工具,然后使用命令行工具進行開通表格存儲服務、創建實例、配置接入實例信息、創建時序表、讀寫時序表中數據以及使用SQL查詢數據的操作。
前提條件
已獲取用于操作表格存儲的阿里云賬號或者RAM用戶的登錄信息。
如果未注冊阿里云賬號,您需要在阿里云官網注冊阿里云賬號。
如果要使用RAM用戶體驗表格存儲功能,您需要使用阿里云賬號創建RAM用戶并授予RAM用戶訪問表格存儲的權限。具體操作,請參見通過RAM Policy為RAM用戶授權。
注意事項
目前支持使用時序模型功能的地域有華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華北6(烏蘭察布)、華南1(深圳)、中國香港、德國(法蘭克福)、美國(弗吉尼亞)和新加坡。
通過命令行工具只能創建按量模式下的高性能實例。如果要創建按量模式下的容量型實例或者預留模式下的實例,請通過控制臺創建實例。具體操作,請參見創建實例或者創建時序模型實例。
如果使用過程中遇到問題,請通過釘釘加入用戶群44327024(物聯網存儲 IoTstore 開發者交流群
)聯系我們。
步驟一:下載并啟動命令行工具
根據所用平臺下載命令行工具。
平臺
下載地址
Windows
Linux
macOS
解壓縮下載的工具包,進入命令行工具根目錄后,根據所用平臺選擇相應方式啟動命令行工具。
對于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>
步驟二:開通表格存儲服務
如果已經開通表格存儲服務,請跳過此操作。服務僅需開通一次,開通過程免費。
通過config命令配置AccessKey信息。更多信息,請參見啟動并配置接入信息。
重要此處必須使用阿里云賬號的AccessKey(包括AccessKey ID和AccessKey Secret)。關于獲取AccessKey的具體操作,請參見獲取AccessKey。
config --id NTS********************** --key 7NR2****************************************
執行
enable_service
命令,開通表格存儲服務。
步驟三:創建實例
通過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****
步驟五:創建并使用時序表
創建時序表后,選擇要進行操作的時序表,用于后續表操作或者數據操作。
執行以下命令,創建mytable時序表。
create -m timeseries -t mytable --ttl -1
執行
use --ts -t mytable
命令,使用mytable時序表。
步驟六:數據操作
根據需要進行數據操作,您可以寫入時序數據、導入時序數據、查詢時序數據、檢索時間線、掃描時間線以及更新時間線。
導入時序數據
以下示例用于導入import_timeseries.txt文件中的時序數據到時序表中。
import_timeseries --input /temp/import_timeseries.txt
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語句快速查詢表中數據,請執行以下步驟:
執行
sql
命令,進入SQL模式。根據需要查詢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;
命令。
相關文檔
您可以通過控制臺快速體驗時序模型。具體操作,請參見通過控制臺使用時序模型。
當要在實際業務中使用表格存儲時,請參見時序模型介紹和通過SDK使用時序模型文檔了解產品時序模型的使用限制、使用流程等信息,并根據業務特點選擇合適的計費模式來節省使用成本。更多信息,請參見計費模式使用推薦。
基于時序模型可以實現基于設備接入平臺與Tablestore搭建車輛軌跡數據平臺等方案。更多方案介紹,請參見場景實戰-典型場景架構與實現。