Table StoreTablestore支援接入到DataWorks中進行管理和使用,您可以通過在DataWorks中添加Tablestore資料來源來串連Tablestore服務。添加Tablestore資料來源後,您可以在DataWorks中配置資料同步任務進行Tablestore資料的同步遷移或者使用SQL語句查詢Tablestore資料。本文介紹如何使用SQL語句查詢Tablestore資料。
背景資訊
DataWorks基於MaxCompute、Hologres、EMR、AnalyticDB、CDP等巨量資料引擎,為資料倉儲、資料湖、湖倉一體等解決方案提供統一的全鏈路巨量資料開發治理平台。更多資訊,請參見什麼是DataWorks。
使用情境
將Table Store接入到DataWorks,可以在DataWorks中實現高效的資料處理和分析,支援多樣化的巨量資料應用情境。典型使用情境如下:
大規模資料存放區與分析
藉助Table Store的高輸送量和大容量特性。在DataWorks中,可以通過SQL、MapReduce或自訂代碼等方式直接查詢和處理Table Store中的資料,進行巨量資料分析。例如日誌分析、使用者行為分析等。
即時資料處理
配合DataWorks的Realtime Compute服務(例如Flink),可以實現Table Store資料的即時消費、處理與分析,適用於即時監控、即時報表、即時推薦系統等情境。
離線資料處理與批處理
利用DataWorks的任務調度能力,可以定時觸發對錶格儲存中資料的批量處理作業,例如ETL(抽取、轉換、載入)任務,將未經處理資料轉化為適合分析的格式,或者定期進行資料彙總、統計分析。
資料湖與資料倉儲建設
Table Store可以作為資料湖的儲存層,存放未經處理資料或半結構化資料。通過DataWorks,可以構建資料管道,將Table Store中的資料進一步加工和清洗後,匯入到MaxCompute或其他資料倉儲系統,進行更複雜的分析和挖掘。
BI報表與資料視覺效果
DataWorks可以整合Quick BI等報表工具,直接從Table Store中提取資料,產生各種業務報表和儀表板,為企業決策提供資料支援。
機器學習與AI專案
在DataWorks中,可以利用Table Store來儲存訓練資料和模型特徵資料,結合阿里雲的Machine Learning Platform for AI進行模型訓練和預測,實現從資料準備到模型部署的全鏈路開發。
操作步驟
將Tablestore接入到DataWorks後,使用SQL查詢功能查詢和分析Tablestore中資料。
此功能適用於Table Store的寬表模型和時序模型。
準備工作
已建立RAM使用者並為RAM使用者授予管理Table Store許可權(AliyunOTSFullAccess)和管理DataWorks許可權(AliyunDataWorksFullAccess)以及建立AccessKey。具體操作,請參見使用RAM使用者存取金鑰訪問Table Store。
根據使用的Table Store資料存放區模型建立相應資源。
在DataWorks服務側完成如下操作:
已開通DataWorks服務並建立工作空間。具體操作,請參見開通DataWorks服務和建立工作空間。
已擁有Tablestore資料來源在資料分析模組的查詢許可權。具體操作,請參見資料查詢與分析管控。
操作帳號已被添加為工作空間的以下角色之一:資料分析師、模型設計師、開發、營運角色、空間管理員或專案所有者。具體操作,請參見為工作空間增加空間成員。
步驟一:在DataWorks中添加Tablestore資料來源
將Tablestore資料庫添加為資料來源,具體步驟如下:
進入Data Integration頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的 ,在下拉框中選擇對應工作空間後單擊進入Data Integration。
在左側導覽列,單擊資料來源。
在資料來源列表頁面,單擊新增資料來源。
在新增資料來源對話方塊,找到Tablestore區塊,單擊Tablestore。
在新增OTS資料來源對話方塊,根據下表配置資料來源參數。
參數
說明
資料來源名稱
資料來源名稱必須以字母、數字、底線(_)組合,且不能以數字和底線(_)開頭。
資料來源描述
對資料來源進行簡單描述,不得超過80個字元。
地區
選擇Tablestore執行個體所屬地區。
Table Store執行個體名稱
Tablestore執行個體的名稱。更多資訊,請參見執行個體。
Endpoint
Tablestore執行個體的服務地址,推薦使用VPC地址。
重要本文以Tablestore執行個體和DataWorks工作空間在同一阿里雲主帳號的同一地區下為例進行說明。更多情境資訊,請參見各情境網路連通配置樣本。
AccessKey ID
阿里雲帳號或者RAM使用者的AccessKey ID和AccessKey Secret。擷取方式請參見建立AccessKey。
AccessKey Secret
測試資源群組連通性。
建立資料來源時,您需要測試資源群組的連通性,以保證同步任務使用的資源群組能夠與資料來源連通,否則將無法正常執行資料同步任務。
(可選)購買並綁定資源群組至當前DataWorks工作空間。具體操作,請參見新增和使用Serverless資源群組。
不推薦使用舊版資源群組(獨享資源群組和公用資源群組),相較於舊版資源群組,Serverless資源群組支援的能力更豐富、售賣方式更統一、能有效利用資源片段避免浪費,因此推薦您使用Serverless資源群組。
說明Serverless資源群組預設不具備公網訪問能力。需要為綁定的VPC配置公網NAT Gateway和EIP後,才支援公網訪問資料來源。
待資源群組啟動成功後,在串連配置地區,單擊相應資源群組連通狀態列的測試連通性。
測試連通性通過後,連通狀態顯示可連通,單擊完成。
在資料來源列表中,可以查看建立的資料來源。
說明如果顯示無法連通,表示資源群組與資料來源無法連通,後續相應資料來源任務將無法正常執行。您可以參考以下思路排查處理。
根據右側彈出的連通性診斷工具視窗,自助解決連通性問題。
如果連通性診斷工具未給出具體解決辦法,請檢查您設定的帳號、密碼、串連地址等參數,以及確保將資源群組的IP地址加入到資料來源的白名單中。更多資訊,請參見網路連通方案。
步驟二:在DataWorks中使用SQL查詢Tablestore資料
Table Store支援寬表模型、時序模型等資料存放區模型,不同資料存放區模型的使用SQL查詢操作存在差異,請根據所用資料存放區模型選擇相應操作。
當前支援在DataWorks資料分析中對錶格儲存進行的SQL查詢功能與Table Store自身支援的SQL查詢功能一致。更多資訊,請參見SQL支援功能說明。
使用SQL查詢寬表資料
進入資料分析頁面。
以專案系統管理員身份登入DataWorks控制台。
在左側導覽列,選擇資料分析 > SQL查詢。
在SQL查詢頁面,選擇地區後,選擇目標工作空間並單擊進入SQL查詢。
建立SQL查詢檔案。
將滑鼠移動到我的檔案目錄後的加號表徵圖上,選擇建立檔案。
在建立檔案對話方塊中,填寫檔案名稱,然後單擊確定。
建立後的檔案會顯示在左側地區欄中。
開啟建立的檔案後,配置要查詢的資料來源資訊。
在檔案介面右上方單擊
表徵圖。
在懸浮框中根據下表說明配置資料來源資訊。
參數
說明
工作空間
工作空間名稱,請根據實際選擇。
資料來源類型
要查詢的資料來源類型,請選擇Tablestore。
資料來源名稱
資料來源名稱,請選擇要查詢的表所在執行個體對應的資料來源名稱。
重要資料來源名稱列表中僅展示您有許可權使用的資料來源,如需更多資料來源,請聯絡管理員在資訊安全中心進行設定。具體操作,請參見資料查詢與分析管控。
單擊確定。
為表建立映射關係並運行SQL語句。
如果已為表建立了SQL映射關係,請跳過此操作。
重要建立表的SQL映射關係時,請確保SQL映射關係中的欄位類型與表中的欄位類型相匹配。更多資訊,請參見SQL資料類型映射。
在檔案中編寫建立SQL映射關係的SQL語句。具體操作,請參見建立表的映射關係。
為資料表建立映射關係時,SQL映射表名稱必須與資料表名稱相同,且SQL的主鍵列必須與資料表的主鍵列相同。
說明如果已為資料表建立多元索引,您還可以選擇為多元索引建立映射關係,以實現通過指定多元索引查詢資料。具體操作,請參見建立多元索引的映射關係。
以下樣本用於建立test_table表的SQL映射關係。
CREATE TABLE `test_table` ( `pk` VARCHAR(1024), `long_value` BIGINT(20), `double_value` DOUBLE, `string_value` MEDIUMTEXT, `bool_value` BOOL, PRIMARY KEY(`pk`) );
單擊SQL語句所在位置後,單擊運行。
運行結果會顯示在相應結果頁簽中。
使用SQL查詢表中資料。
在檔案中編寫SELECT語句查詢資料。具體操作,請參見查詢資料。
以下樣本用於查詢test_table表中資料,並且最多返回20行資料。
SELECT `pk`, `long_value`, `double_value`, `string_value`, `bool_value` FROM test_table LIMIT 20;
單擊SQL語句所在位置後,單擊運行。
運行結果會顯示在相應結果頁簽中。
使用SQL查詢時序資料
進入資料分析頁面。
以專案系統管理員身份登入DataWorks控制台。
在左側導覽列,選擇資料分析 > SQL查詢。
在SQL查詢頁面,選擇地區後,選擇目標工作空間並單擊進入SQL查詢。
建立SQL查詢檔案。
將滑鼠移動到我的檔案目錄後的加號表徵圖上,選擇建立檔案。
在建立檔案對話方塊中,填寫檔案名稱,然後單擊確定。
建立後的檔案會顯示在左側地區欄中。
開啟建立的檔案後,配置要查詢的資料來源資訊。
在檔案介面右上方單擊
表徵圖。
在懸浮框中根據下表說明配置資料來源資訊。
參數
說明
工作空間
工作空間名稱,請根據實際選擇。
資料來源類型
要查詢的資料來源類型,請選擇Tablestore。
資料來源名稱
資料來源名稱,請選擇要查詢的表所在執行個體對應的資料來源名稱。
重要資料來源名稱列表中僅展示您有許可權使用的資料來源,如需更多資料來源,請聯絡管理員在資訊安全中心進行設定。具體操作,請參見資料查詢與分析管控。
單擊確定。
為表建立映射關係並運行SQL語句。
建立時序表後,系統會自動為表建立單值模型映射關係和時間軸中繼資料映射關係,無需手動建立。在SQL中單值模型映射關係的名稱與時序表名相同,時間軸中繼資料映射關係的表名為時序表名稱後拼接
::meta
。如果要以多值模型查詢時序資料,您需要手動建立多值模型映射關係。否則請跳過此操作。
在檔案中編寫SQL語句建立SQL映射關係。更多資訊,請參見時序表的SQL映射關係。
假設測量的屬性同時包含了cpu、memory、disktop三種度量,此處以建立多實值型別映射表
timeseries_table::muti_model
為例介紹。SQL樣本如下:CREATE TABLE `timeseries_table::muti_model` ( `_m_name` VARCHAR(1024), `_data_source` VARCHAR(1024), `_tags` VARCHAR(1024), `_time` BIGINT(20), `cpu` DOUBLE(10), `memory` DOUBLE(10), `disktop` DOUBLE(10), PRIMARY KEY(`_m_name`,`_data_source`,`_tags`,`_time`) );
單擊SQL語句所在位置後,單擊運行。
運行結果會顯示在相應結果頁簽中。
使用SQL查詢表中資料。
在檔案中編寫SELECT語句查詢資料。更多資訊,請參見SQL樣本。
使用單值模型映射關係查詢資料
以下樣本用於查詢時序資料表中basic_metric度量類型的資料。
SELECT * FROM timeseries_table WHERE _m_name = "basic_metric" LIMIT 10;
使用時間線中繼資料映射關係查詢資料
以下用於查詢時序中繼資料表中basic_metric度量類型下的時間軸。
SELECT * FROM `timeseries_table::meta` WHERE _m_name = "basic_metric" LIMIT 100;
使用多值模型映射關係查詢資料
以下樣本用於查詢多值模型映射表中cpu大於20.0的所有度量資訊。
SELECT cpu,memory,disktop FROM `timeseries_table::muti_model` WHERE cpu > 20.0 LIMIT 10;
單擊SQL語句所在位置後,單擊運行。
運行結果會顯示在相應結果頁簽中。
計費說明
Table Store費用說明
通過DataWorks使用SQL訪問Table Store時,SQL本身不會有額外的費用,但是使用SQL查詢資料過程中涉及到的表掃描、索引查詢等操作會產生費用。更多資訊,請參見SQL查詢計量計費。
其他資源費用說明
使用DataWorks工具時,DataWorks會收取相關的功能費用和資源費用。更多資訊,請參見購買指引。
相關文檔
您還可以通過Table Store的控制台、命令列工具、SDK、JDBC、Go語言驅動等方式使用SQL查詢資料。具體操作,請參見SQL使用方式。
您還可以將Tablestore執行個體接入到DMS,然後使用SQL查詢與分析Tablestore資料。更多資訊,請參見接入到DMS。
您還可以通過MaxCompute、Spark、Hive或者HadoopMR、Function Compute、Flink、PrestoDB等計算引擎實現對錶中資料的計算與分析。具體操作,請參見計算與分析。
您還可以使用DataWorksData Integration服務將MySQL、Oracle、Kafka、HBase、MaxCompute、PolarDB-X 2.0、Tablestore等資料來源的資料移轉到Table Store中。更多資訊,請參見Data Integration服務。