定時SQL功能用於定時分析資料、儲存彙總資料、投影與過濾資料。本文介紹如何在Simple Log Service中建立定時SQL任務,將源Logstore中的資料處理後儲存到目標Logstore中。
目前,定時SQL功能在公測階段,僅收取SQL獨享版計算資源消耗費用。費用說明請參見按使用功能計費模式計費項目。
前提條件
開始建立定時SQL前,您需完成以下操作:
準備源Logstore
建立Log ServiceProject、標準型Logstore並完成日誌採集和建立索引。具體操作,請參見建立專案Project、建立Logstore、資料擷取概述和建立索引。
準備目標Logstore
在需要寫入定時SQL任務處理結果的阿里雲帳號中建立Log ServiceProject、標準型Logstore並開啟索引。
操作步驟
使用阿里雲帳號(主帳號)或具有建立定時SQL任務的RAM使用者登入源Logstore所在Log Service控制台。
在Project列表地區,單擊源Logstore所屬Project。
在控制台左側,單擊日誌儲存,在日誌庫列表中單擊需要分析資料的Logstore名稱,此Logstore在定時SQL中即為源Logstore。
輸入查詢和分析語句,然後單擊最近15分鐘,設定查詢和分析的時間範圍。
說明本步驟為定時SQL任務的預覽操作,用於驗證您所使用的查詢和分析語句是否正確,執行結果是否有資料。
在統計圖表頁簽中,單擊另存新檔定時SQL。
建立定時SQL任務。
在計算配置嚮導中,完成如下配置,然後單擊下一步。
專案
說明
任務名稱
SLS任務的唯一名稱,保持預設即可。
顯示名稱
輸入定時SQL任務的顯示名稱。
任務描述
(可選)輸入定時SQL任務的描述。
資源集區
Simple Log Service提供增強型資源集區用於資料分析。
增強型資源集區複用SQL獨享版的計算能力,提供足夠的分析並發數,與您在控制台上的SQL分析操作進行資源隔離。增強型資源集區根據SQL分析操作所消耗的CPU時間收取費用。更多資訊,請參見開啟SQL獨享版。
寫入模式
選擇日誌庫匯入日誌庫,即表示源Logstore中的資料通過定時SQL處理後將結果儲存到目標Logstore中。
SQL代碼
顯示您在步驟4中輸入的查詢和分析語句。在上一步中已經驗證正確性,此處無需修改。
如果您需要使用其他查詢和分析語句,此處也支援重新定義。輸入查詢和分析語句後,選擇時間範圍,並單擊預覽確認結果。
定時SQL任務運行時,Simple Log Service將執行該查詢和分析語句分析資料。
源Project/Logstore
顯示資料來源所在的Project、Logstore,此處不支援修改。
目標
源Logstore和目標Logstore同帳號情境
專案
說明
目標Region
選擇目標Project所在地區。
目標Project
從下拉式清單中選擇目標Project。
目標庫
從下拉式清單中選擇目標Logstore。
寫目標授權
定時SQL任務可通過扮演預設角色或自訂角色將資料寫入目標Logstore。以下角色二選一即可。
預設角色:預設角色AliyunLogETLRole具備在源Logstore或源MetricStore中執行SQL分析操作以及將分析結果寫入目標Logstore或MetricStore的許可權。更多資訊,請參見使用預設角色建立定時SQL任務。
自訂角色:您可通過建立自訂角色和自訂權限原則,實現更精細化的許可權管控。更多資訊,請參見授予自訂RAM角色寫目標Logstore的許可權。
源Logstore和目標Logstore不同帳號情境
專案
說明
目標Region
選擇其他Region,並簽署資料跨境合規承諾。然後輸入目標Project的公網網域名稱,例如
cn-hangzhou.log.aliyuncs.com
。目標Project
輸入目標Project的名稱,例如
test-project
。目標庫
輸入目標Logstore的名稱,例如
test-logstore
。寫目標授權
選擇自訂角色,更多資訊,請參見授予自訂RAM角色寫目標Logstore的許可權。
執行SQL授權
定時SQL任務可通過扮演預設角色或自訂角色查詢分析源Logstore中的資料。以下角色二選一即可。
預設角色:預設角色AliyunLogETLRole具備在源Logstore或源MetricStore中執行SQL分析操作以及將分析結果寫入目標Logstore或MetricStore的許可權。更多資訊,請參見使用預設角色建立定時SQL任務。
自訂角色:您可通過建立自訂角色和自訂權限原則,實現更精細化的許可權管控。更多資訊,請參見授予自訂RAM角色分析源Logstore的許可權。
在調度配置嚮導中,完成如下配置,然後單擊確定。
專案
說明
調度間隔
調度定時SQL任務的頻率,每調度一次定時SQL任務產生一個執行執行個體。調度間隔決定每個執行執行個體的調度時間。
每小時:每小時調度一次定時SQL任務。
每天:在每天的某個固定時間點調度一次定時SQL任務。
每周:在周幾的某個固定時間點調度一次定時SQL任務。
固定間隔:按照固定間隔調度定時SQL任務。
Cron:通過Cron運算式指定時間間隔,按照指定的時間間隔調度定時SQL任務。
Cron運算式的最小精度為分鐘,24小時制。例如
0 0/1 * * *
表示從00:00開始,每隔1小時運行一次。當您需要配置時區時,需選擇Cron模式。常見的時區列表請參見時區列表。
調度時間範圍
調度的時間範圍,具體說明如下:
某時間開始:指定第一個執行個體被調度的開始時間。
特定時間範圍:指定執行個體被調度的起止時間,即定時SQL任務僅在該時間範圍內可被執行。
說明執行個體的調度時間必須在該範圍內,超出該範圍時,定時SQL任務不再產生新執行個體。
調度時間範圍是指
__time__
。更多詳情請參見保留欄位。
SQL時間視窗
定時SQL任務運行時,僅分析該時間範圍內的日誌。時間視窗與執行個體調度時間共同作用生效。該時間範圍不能大於調度間隔的5倍且不能超過1天。更多資訊,請參見時間運算式文法。
例如:調度間隔為固定間隔10分鐘,起始時間為2021-04-01 00:00:00,順延強制為30秒,SQL時間視窗為[@m-10m,@m),則SQL任務運行時,在00:00:30時刻產生第一個執行執行個體,分析的是
[23:50:00~00:00:00)
期間的日誌。更多資訊,請參見調度與執行情境。說明SQL時間視窗是指
__time__
,更多詳情請參見保留欄位。如果未在SQL代碼中定義
__time__
,則寫入目標Logstore的日誌時間__time__
會預設使用調度時的視窗開始時間。
SQL逾時
執行SQL分析操作失敗時自動重試的閾值。當重試時間超過指定的最大時間或者重試次數超過最大次數時,該執行執行個體結束,狀態為失敗。您可以根據失敗原因,手動重試該執行個體。具體操作,請參見重試定時SQL任務執行個體。
順延強制
調度時間點往後順延強制的時間。取整範圍:0~120,單位:秒。
當資料寫入Logstore存在延遲等情況時,可通過順延強制來保證資料的完整性。
建立定時SQL任務後,您可以在管理定時SQL任務。
中查看定時SQL任務。更多資訊,請參見