日志服務支持加工歷史數據,本文介紹加工歷史數據的操作步驟及相關問題。
前提條件
已采集數據到日志服務。具體操作,請參見數據采集。
如果您使用的是RAM用戶,則需要先授予RAM用戶數據加工操作權限。具體操作,請參見授予RAM用戶數據加工操作權限。
創建數據加工任務
登錄日志服務控制臺。
進入數據加工頁面。
在Project列表區域,單擊目標Project。
在 頁簽中,單擊目標Logstore。
在查詢和分析頁面,單擊數據加工。
在頁面右上角,選擇數據的時間范圍。
選擇時間范圍后,請確認原始日志頁簽中存在日志。
在編輯框中,輸入數據加工語句。
加工語句的語法請參見數據加工語法。
預覽數據。
單擊保存數據加工(舊版),創建數據加工任務。
具體操作,請參見創建數據加工任務。其中,您需要根據您要加工的數據時間,設置加工范圍。
選項
說明
所有
從Logstore接收到第一條數據的時間點開始數據加工任務,直到加工任務被手動停止。
某時間開始
指定數據加工任務的開始時間,從該時間點開始加工,直到加工任務被手動停止。
特定時間范圍
指定數據加工任務的起止時間,從指定的開始時間點開始加工,到指定的結束時間后加工任務自動停止。
查看加工結果
您可以在目標Logstore中查看對應的加工結果數據。如果目標Logstore無數據,您可以參考以下方案進行解決。
擴大數據查詢時間范圍
如果您在數據加工語句中未對__time__字段進行設置,那么某條數據在目標Logstore的時間和在源Logstore中的時間是一致的,而打開目標Logstore查詢數據時,默認的查詢時間范圍為最近15分鐘,您可能查詢不到歷史數據的加工結果。此時,您可以擴大查詢的時間范圍。
例如歷史數據的時間為2023-04-11 10:00:00,加工時間為2023-04-12 09:00:00,寫入目標Logstore后,數據的時間仍為2023-04-11 10:00:00,因此您在2023-04-12 09:01:00打開目標Logstore時,默認的查詢時間為15分(相對),將查詢不到該條數據,您可以將查詢時間范圍修改為1天(相對),再進行查詢。
創建索引
如果您打開目標Logstore時,提示如下錯誤,表示您未創建索引。索引是一種倒排的數據存儲結構,由關鍵詞和指向實際數據的邏輯指針組成,用于快速根據關鍵詞定位到具體數據行,類似于數據的目錄。您只有創建索引后,才能看到加工結果數據。具體操作,請參見創建索引。
重建索引
創建索引只對新寫入目標Logstore的數據生效。如果您是在創建數據加工任務后才在目標Logstore中創建索引,那么默認情況下,您無法查詢在創建索引前已通過數據加工寫入的數據。此時,您可以對已寫入目標Logstore的數據重建索引。具體操作,請參見重建索引。
提高歷史數據加工效率
當您的歷史數據量較大,且同時需要對它們進行加工時,由于受限于單個數據加工任務的處理效率,往往很難滿足實時性需求,可能會出現加工消費延遲大且不降低的現象。此時,您可以為歷史數據創建一個或多個數據加工任務,另外對實時寫入的數據,創建一個單獨的加工任務。
例如您在2023-01-16要創建一個數據加工任務,加工從2023-01-01 00:00:00開始寫入源Logstore的所有數據,則您可以將2023-01-01 00:00:00~2023-01-15 23:59:59期間的歷史數據分成三份,并分別創建一個加工任務,然后為2023-01-16 00:00:00后實時寫入的數據也創建一個加工任務,如下圖所示。
任務一
創建加工任務一,加工2023-01-01 00:00:00~2023-01-05 23:59:59期間的歷史數據。
任務二
創建加工任務二,加工2023-01-06 00:00:00~2023-01-10 23:59:59期間的歷史數據。
任務三
創建加工任務三,加工2023-01-11 00:00:00~2023-01-15 23:59:59期間的歷史數據。
任務四
創建加工任務四,加工2023-01-16 00:00:00后實時寫入的數據。