全部產品
Search
文件中心

Tablestore:接入到DataWorks

更新時間:Sep 11, 2024

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進行模型訓練和預測,實現從資料準備到模型部署的全鏈路開發。

準備工作

  • 在存取控制RAM服務側完成如下操作:

    • 已建立RAM使用者並為RAM使用者授予管理Table Store許可權(AliyunOTSFullAccess)和管理DataWorks許可權(AliyunDataWorksFullAccess)。具體操作,請參見建立RAM使用者為RAM使用者授權

      警告

      阿里雲帳號AccessKey泄露會威脅您所有資源的安全。建議您使用RAM使用者AccessKey進行操作,可以有效降低AccessKey泄露的風險。

    • 已為RAM使用者建立AccessKey。具體操作,請參見建立AccessKey

  • 在Table Store服務側已完成如下操作:

  • 在DataWorks服務側完成如下操作:

注意事項

  • 此功能適用於Table Store的寬表模型時序模型

  • 在DataWorks資料分析中使用SQL查詢功能時,僅支援查詢有許可權的工作空間內的資料來源資料,因此您需要先聯絡管理員將您添加為工作空間的資料分析師、模型設計師、開發、營運、空間管理員或專案所有者。

  • 當前支援在DataWorks資料分析中對錶格儲存進行的SQL查詢功能與Table Store自身支援的SQL查詢功能一致。更多資訊,請參見SQL支援功能說明

操作步驟

將Tablestore接入到DataWorks後,使用SQL查詢功能查詢和分析Tablestore中資料。

步驟一:在DataWorks中添加Tablestore資料來源

Tablestore資料庫添加為資料來源,具體步驟如下:

  1. 進入Data Integration頁面。

    1. 以專案系統管理員身份登入DataWorks控制台

    2. 在左側導覽列,單擊Data Integration

    3. Data Integration頁面,選擇地區後,選擇目標工作空間並單擊進入Data Integration

  2. 在Data Integration的左側導覽列,單擊資料來源

  3. 資料來源頁面,單擊新增資料來源

  4. 新增資料來源對話方塊,找到Tablestore區塊,單擊Tablestore

  5. 新增OTS資料來源對話方塊,根據下表配置資料來源參數。

    參數

    說明

    資料來源名稱

    資料來源名稱必須以字母、數字、底線(_)組合,且不能以數字和底線(_)開頭。

    資料來源描述

    對資料來源進行簡單描述,不得超過80個字元。

    Endpoint

    Tablestore執行個體的服務地址。更多資訊,請參見服務地址

    如果Tablestore執行個體和目標資料來源的資源在同一個地區,填寫VPC地址;如果Tablestore執行個體和目標資料來源的資源不在同一個地區,填寫公網地址。

    Tablestore執行個體名稱

    Tablestore執行個體的名稱。更多資訊,請參見執行個體

    AccessKey ID

    阿里雲帳號或者RAM使用者的AccessKey ID和AccessKey Secret。擷取方式請參見建立AccessKey

    AccessKey Secret

  6. 測試資源群組連通性。

    建立資料來源時,您需要測試資源群組的連通性,以保證同步任務使用的資源群組能夠與資料來源連通,否則將無法正常執行資料同步任務。

    重要

    資料同步時,一個任務只能使用一種資源群組。資源群組列表預設顯示僅Data Integration公用資源群組。為確保資料同步的穩定性和效能要求,推薦使用獨享Data Integration資源群組。

    1. 單擊前往購買進行全新建立或單擊綁定已購資源群組綁定已有資源群組。具體操作,請參見新增和使用獨享Data Integration資源群組

    2. 單擊相應資源群組操作列的測試連通性

      當連通狀態顯示為可連通時,表示連通成功。

  7. 測試連通性通過後,單擊完成

    在資料來源列表中,可以查看建立的資料來源。

步驟二:在DataWorks中使用SQL查詢Tablestore資料

Table Store支援寬表模型、時序模型等資料存放區模型,不同資料存放區模型的使用SQL查詢操作存在差異,請根據所用資料存放區模型選擇相應操作。

使用SQL查詢寬表資料

  1. 進入資料分析頁面。

    1. 以專案系統管理員身份登入DataWorks控制台

    2. 在左側導覽列,選擇資料分析 > SQL查詢

    3. SQL查詢頁面,選擇地區後,選擇目標工作空間並單擊進入SQL查詢

  2. 建立SQL查詢檔案。

    1. 將滑鼠移動到我的檔案目錄後的加號表徵圖上,選擇建立檔案

    2. 建立檔案對話方塊中,填寫檔案名稱,然後單擊確定

      建立後的檔案會顯示在左側地區欄中。

  3. 開啟建立的檔案後,配置要查詢的資料來源資訊。

    image

    1. 在檔案介面右上方單擊image表徵圖。

    2. 在懸浮框中根據下表說明配置資料來源資訊。

      參數

      說明

      工作空間

      工作空間名稱,請根據實際選擇。

      資料來源類型

      要查詢的資料來源類型,請選擇為Tablestore

      資料來源名稱

      資料來源名稱,請選擇要查詢的表所在執行個體對應的資料來源名稱。

      重要

      資料來源名稱列表中僅展示您有許可權使用的資料來源,如需更多資料來源,請聯絡管理員在資訊安全中心進行設定。具體操作,請參見資料查詢與分析管控

    3. 單擊確定

  4. 為表建立映射關係並運行SQL語句。

    如果已為表建立了SQL映射關係,請跳過此操作。

    重要

    建立表的SQL映射關係時,請確保SQL映射關係中的欄位類型與表中的欄位類型相匹配。更多資訊,請參見SQL資料類型映射

    1. 在檔案中編寫建立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`)
      );
    2. 單擊SQL語句所在位置後,單擊運行

      運行結果會顯示在相應結果頁簽中。

  5. 使用SQL查詢表中資料。

    1. 在檔案中編寫SELECT語句查詢資料。具體操作,請參見查詢資料

      以下樣本用於查詢test_table表中資料,並且最多返回20行資料。

      SELECT `pk`, `long_value`, `double_value`, `string_value`, `bool_value` FROM test_table LIMIT 20;
    2. 單擊SQL語句所在位置後,單擊運行

      運行結果會顯示在相應結果頁簽中。

使用SQL查詢時序資料

  1. 進入資料分析頁面。

    1. 以專案系統管理員身份登入DataWorks控制台

    2. 在左側導覽列,選擇資料分析 > SQL查詢

    3. SQL查詢頁面,選擇地區後,選擇目標工作空間並單擊進入SQL查詢

  2. 建立SQL查詢檔案。

    1. 將滑鼠移動到我的檔案目錄後的加號表徵圖上,選擇建立檔案

    2. 建立檔案對話方塊中,填寫檔案名稱,然後單擊確定

      建立後的檔案會顯示在左側地區欄中。

  3. 開啟建立的檔案後,配置要查詢的資料來源資訊。

    image

    1. 在檔案介面右上方單擊image表徵圖。

    2. 在懸浮框中根據下表說明配置資料來源資訊。

      參數

      說明

      工作空間

      工作空間名稱,請根據實際選擇。

      資料來源類型

      要查詢的資料來源類型,請選擇為Tablestore

      資料來源名稱

      資料來源名稱,請選擇要查詢的表所在執行個體對應的資料來源名稱。

      重要

      資料來源名稱列表中僅展示您有許可權使用的資料來源,如需更多資料來源,請聯絡管理員在資訊安全中心進行設定。具體操作,請參見資料查詢與分析管控

    3. 單擊確定

  4. 為表建立映射關係並運行SQL語句。

    建立時序表後,系統會自動為表建立單值模型映射關係和時間軸中繼資料映射關係,無需手動建立。在SQL中單值模型映射關係的名稱與時序表名相同,時間軸中繼資料映射關係的表名為時序表名稱後拼接::meta

    如果要以多值模型查詢時序資料,您需要手動建立多值模型映射關係。否則請跳過此操作。

    重要

    建立表的SQL映射關係時,請確保SQL映射關係中的欄位類型與表中的欄位類型相匹配。更多資訊,請參見SQL資料類型映射。其中時序表SQL映射類型中具體欄位的類型說明請參見時序表的映射關係

    1. 在檔案中編寫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`)
      );
    2. 單擊SQL語句所在位置後,單擊運行

      運行結果會顯示在相應結果頁簽中。

  5. 使用SQL查詢表中資料。

    1. 在檔案中編寫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;
    2. 單擊SQL語句所在位置後,單擊運行

      運行結果會顯示在相應結果頁簽中。

計費說明

Table Store費用說明

通過DataWorks使用SQL訪問Table Store時,SQL本身不會有額外的費用,但是使用SQL查詢資料過程中涉及到的表掃描、索引查詢等操作會產生費用。更多資訊,請參見SQL查詢計量計費

Table Store會根據具體的讀寫請求按照讀寫輸送量計量計費。同時根據執行個體類型不同,計費時需要區分按量讀寫CU以及預留讀寫CU。

說明

關於執行個體類型和CU的更多資訊,請分別參見執行個體讀寫輸送量

其他資源費用說明

使用DataWorks工具時,DataWorks會收取相關的功能費用和資源費用。更多資訊,請參見購買指引

相關文檔

  • 您還可以通過Table Store的控制台、命令列工具、SDK、JDBC、Go語言驅動等方式使用SQL查詢資料。具體操作,請參見SQL使用方式

  • 您還可以將Tablestore執行個體接入到DMS,然後使用SQL查詢與分析Tablestore資料。更多資訊,請參見接入到DMS

  • 您還可以通過MaxCompute、Spark、Hive或者HadoopMR、Function Compute、Flink、PrestoDB等計算引擎實現對錶中資料的計算與分析。具體操作,請參見計算與分析

  • 如果要加速SQL資料查詢和計算,您可以通過建立二級索引或者多元索引實現。更多資訊,請參見索引選擇策略計算下推

  • 您還可以使用DataWorksData Integration服務將MySQL、Oracle、Kafka、HBase、MaxCompute、PolarDB-X 2.0、Tablestore等資料來源的資料移轉到Table Store中。更多資訊,請參見Data Integration服務