LogHub(SLS)資料來源為您提供讀取和寫入LogHub(SLS)雙向通道的功能,本文為您介紹DataWorks的LogHub(SLS)資料同步的能力支援情況。
使用限制
Data Integration離線寫LogHub(SLS)時,由於LogHub(SLS)無法實現等冪,FailOver重跑任務時會引起資料重複。
支援的欄位類型
Data Integration支援讀寫的LogHub(SLS)欄位類型如下。
欄位類型 | 離線讀(LogHub(SLS) Reader) | 離線寫(LogHub(SLS) Writer) | 即時讀 |
STRING | 支援 | 支援 | 支援 |
其中:
離線寫LogHub(SLS)時
會將支援同步的各類型資料均轉換成STRING類型後寫入LogHub(SLS)。LogHub(SLS) Writer針對LogHub(SLS)類型的轉換列表,如下所示。
支援的Data Integration內部類型
寫入LogHub(SLS)時的資料類型
LONG
STRING
DOUBLE
STRING
STRING
STRING
DATE
STRING
BOOLEAN
STRING
BYTES
STRING
即時讀LogHub(SLS)時
會內建以下中繼資料欄位。
LogHub(SLS)即時同步欄位
資料類型
說明
__time__
STRING
SLS保留欄位:__time__寫入日誌資料時指定的日誌時間,unix時間戳記,單位為秒。
__source__
STRING
SLS保留欄位:__source__日誌來源裝置。
__topic__
STRING
SLS保留欄位:__topic__topic名稱。
__tag__:__receive_time__
STRING
日誌到達服務端的時間。開啟記錄外網IP功能後,服務端接收日誌時為原始日誌追加該欄位。unix時間戳記,單位為秒。
__tag__:__client_ip__
STRING
日誌來源裝置的公網IP。開啟記錄外網IP功能後,服務端接收日誌時為原始日誌追加該欄位。
__tag__:__path__
STRING
Logtail採集的記錄檔路徑,Logtail會自動為日誌追加該欄位。
__tag__:__hostname__
STRING
Logtail採集資料的來源機器主機名稱,Logtail會自動為日誌追加該欄位。
建立資料來源
在進行資料同步任務開發時,您需要在DataWorks上建立一個對應的資料來源,操作流程請參見建立並管理資料來源,詳細的配置參數解釋可在配置介面查看對應參數的文案提示。
資料同步任務開發
資料同步任務的配置入口和通用配置流程可參見下文的配置指導。
LogHub資料來源作為資料來源端,在進行任務配置同步時支援通過LogHub的查詢文法、SPL語句(SLS Processing Language是SLS處理日誌的文法)對LogHub內的資料進行過濾,具體文法說明請參見附錄二:LogHub SPL文法過濾說明。
單表離線同步任務配置指導
操作流程請參見通過嚮導模式配置離線同步任務、通過指令碼模式配置離線同步任務。
指令碼模式配置的全量參數和指令碼Demo請參見下文的附錄一:指令碼Demo與參數說明。
單表即時同步任務配置指導
操作流程請參見配置單表增量資料即時同步、DataStudio側即時同步任務配置。
整庫離線、整庫(即時)全增量、整庫(即時)分庫分表等整庫層級同步配置指導
操作流程請參見Data Integration側同步任務配置。
常見問題
更多其他Data Integration常見問題請參見Data Integration常見問題。
附錄一:指令碼Demo與參數說明
離線任務指令碼配置方式
如果您配置離線任務時使用指令碼模式的方式進行配置,您需要按照統一的指令碼格式要求,在任務指令碼中編寫相應的參數,詳情請參見通過指令碼模式配置離線同步任務,以下為您介紹指令碼模式下資料來源的參數配置詳情。
Reader指令碼Demo
Reader指令碼參數
Writer指令碼Demo
Writer指令碼參數
附錄二:LogHub SPL文法過濾說明
LogHub資料來源作為資料來源端,在進行任務配置同步時支援通過LogHub的查詢文法、SPL語句(SLS Processing Language是SLS處理日誌的文法)對LogHub內的資料進行過濾,具體文法說明如下:
SPL的更多詳細資料,請參見SPL概述。
情境 | SQL語句 | SPL語句 |
資料過濾 |
|
|
欄位處理與篩選 | 精確選擇欄位,並將其重新命名:
|
|
資料規整 (調用SQL函數) | 轉換資料類型、時間解析等:
| 轉換資料類型、時間解析等:
|
欄位提取 | 正則提取:
JSON提取:
|
|