從Logstore到Logstore
定時(shí)SQL功能用于定時(shí)分析數(shù)據(jù)、存儲(chǔ)聚合數(shù)據(jù)、投影與過濾數(shù)據(jù)。日志服務(wù)支持源Logstore中的數(shù)據(jù)通過定時(shí)SQL處理后存儲(chǔ)到目標(biāo)Logstore中。
前提條件
已采集數(shù)據(jù)到源Logstore。具體操作,請(qǐng)參見數(shù)據(jù)采集。
已創(chuàng)建目標(biāo)Logstore。具體操作,請(qǐng)參見創(chuàng)建Logstore。
已創(chuàng)建源Logstore和目標(biāo)Logstore的索引。具體操作,請(qǐng)參見創(chuàng)建索引。
本文中所涉及的Logstore為Standard Logstore。更多信息,請(qǐng)參見管理Logstore。
操作步驟
目前,定時(shí)SQL功能在公測(cè)階段,僅收取SQL獨(dú)享版計(jì)算資源消耗費(fèi)用。費(fèi)用說(shuō)明請(qǐng)參見按使用功能計(jì)費(fèi)模式計(jì)費(fèi)項(xiàng)。
在Project列表區(qū)域,單擊源Project。
在控制臺(tái)左側(cè),單擊日志存儲(chǔ),在日志庫(kù)列表中單擊源Logstore。
輸入查詢和分析語(yǔ)句,然后單擊最近15分鐘,設(shè)置查詢和分析的時(shí)間范圍。
更多信息,請(qǐng)參見步驟一:輸入查詢和分析語(yǔ)句。
說(shuō)明本步驟為定時(shí)SQL任務(wù)的預(yù)覽操作,用于驗(yàn)證您所使用的查詢和分析語(yǔ)句是否正確,執(zhí)行結(jié)果是否有數(shù)據(jù)。
在統(tǒng)計(jì)圖表頁(yè)簽中,單擊另存為定時(shí)SQL。
創(chuàng)建定時(shí)SQL任務(wù)。
在計(jì)算配置向?qū)е校瓿扇缦屡渲茫缓髥螕?b data-tag="uicontrol" id="uicontrol-82k-un1-h4k" class="uicontrol">下一步。
參數(shù)
描述
任務(wù)名稱
SLS任務(wù)的唯一名稱。
顯示名稱
定時(shí)SQL任務(wù)的顯示名稱。
任務(wù)描述
定時(shí)SQL任務(wù)的描述。
資源池
日志服務(wù)提供增強(qiáng)型資源池用于數(shù)據(jù)分析。
增強(qiáng)型資源池復(fù)用SQL獨(dú)享版的計(jì)算能力,提供足夠的分析并發(fā)數(shù),與您在控制臺(tái)上的SQL分析操作進(jìn)行資源隔離。增強(qiáng)型資源池根據(jù)SQL分析操作所消耗的CPU時(shí)間收取費(fèi)用。更多信息,請(qǐng)參見開啟SQL獨(dú)享版。
寫入模式
選擇日志庫(kù)導(dǎo)入日志庫(kù),即表示源Logstore中的數(shù)據(jù)通過定時(shí)SQL處理后將存儲(chǔ)到目標(biāo)Logstore中。
SQL代碼
顯示您在步驟4中輸入的查詢和分析語(yǔ)句。此處的預(yù)覽操作與步驟4中的操作一致,用于驗(yàn)證您所使用的查詢和分析語(yǔ)句是否正確,執(zhí)行結(jié)果是否有數(shù)據(jù)。
SQL任務(wù)運(yùn)行時(shí),日志服務(wù)將執(zhí)行該查詢和分析語(yǔ)句分析數(shù)據(jù)。
源Project/Logstore
顯示數(shù)據(jù)源所在的Project、Logstore。
目標(biāo)
目標(biāo)Region
目標(biāo)Project所在地域。
目標(biāo)Project
用于存儲(chǔ)SQL分析結(jié)果的目標(biāo)Project名稱。
目標(biāo)庫(kù)
用于存儲(chǔ)SQL分析結(jié)果的目標(biāo)Logstore名稱。
寫目標(biāo)授權(quán)
您可以通過如下方式授予定時(shí)SQL任務(wù)寫數(shù)據(jù)到目標(biāo)Logstore的權(quán)限。
默認(rèn)角色:授權(quán)定時(shí)SQL任務(wù)使用阿里云系統(tǒng)角色AliyunLogETLRole將運(yùn)行結(jié)果寫入目標(biāo)Logstore。
自定義角色:授權(quán)定時(shí)SQL任務(wù)使用自定義角色將運(yùn)行結(jié)果寫入目標(biāo)Logstore。
您需先授予自定義角色寫數(shù)據(jù)到目標(biāo)Logstore的權(quán)限,然后在角色ARN中輸入您自定義角色的ARN。如何獲取ARN,請(qǐng)參見如下說(shuō)明:
如果源Logstore和目標(biāo)Logstore屬于同一阿里云賬號(hào),請(qǐng)參見步驟二:授予RAM角色寫目標(biāo)Logstore的權(quán)限。
如果源Logstore和目標(biāo)Logstore屬于不同的阿里云賬號(hào),請(qǐng)參見步驟二:授予賬號(hào)B下的RAM角色b寫目標(biāo)Logstore的權(quán)限。
執(zhí)行SQL授權(quán)
您可以通過如下方式授予定時(shí)SQL任務(wù)讀取源Logstore數(shù)據(jù)以及在當(dāng)前Project下執(zhí)行SQL分析操作的權(quán)限。
默認(rèn)角色:授權(quán)定時(shí)SQL任務(wù)使用阿里云系統(tǒng)角色AliyunLogETLRole執(zhí)行對(duì)應(yīng)操作。
自定義角色:授權(quán)定時(shí)SQL任務(wù)使用自定義角色執(zhí)行對(duì)應(yīng)操作。
您需先授予自定義角色相關(guān)權(quán)限,然后在角色ARN中輸入您自定義角色的ARN。更多信息,請(qǐng)參見步驟一:授予RAM角色分析源Logstore的權(quán)限。
在調(diào)度配置向?qū)е校瓿扇缦屡渲茫缓髥螕?b data-tag="uicontrol" id="uicontrol-q5p-bdy-bdi" class="uicontrol">確定。
參數(shù)
描述
調(diào)度間隔
調(diào)度定時(shí)SQL任務(wù)的頻率,每調(diào)度一次定時(shí)SQL任務(wù)產(chǎn)生一個(gè)執(zhí)行實(shí)例。調(diào)度間隔決定每個(gè)執(zhí)行實(shí)例的調(diào)度時(shí)間。
每小時(shí):每小時(shí)調(diào)度一次定時(shí)SQL任務(wù)。
每天:在每天的某個(gè)固定時(shí)間點(diǎn)調(diào)度一次定時(shí)SQL任務(wù)。
每周:在周幾的某個(gè)固定時(shí)間點(diǎn)調(diào)度一次定時(shí)SQL任務(wù)。
固定間隔:按照固定間隔調(diào)度定時(shí)SQL任務(wù)。
Cron:通過Cron表達(dá)式指定時(shí)間間隔,按照指定的時(shí)間間隔調(diào)度定時(shí)SQL任務(wù)。
Cron表達(dá)式的最小精度為分鐘,24小時(shí)制,例如0 0/1 * * *表示從00:00開始,每隔1小時(shí)運(yùn)行一次。
當(dāng)您需要配置時(shí)區(qū)時(shí),需選擇Cron模式。常見的時(shí)區(qū)列表請(qǐng)參見時(shí)區(qū)列表。
調(diào)度時(shí)間范圍
調(diào)度的時(shí)間范圍,具體說(shuō)明如下:
某時(shí)間開始:指定第一個(gè)實(shí)例被調(diào)度的開始時(shí)間。
特定時(shí)間范圍:指定實(shí)例被調(diào)度的起止時(shí)間,即定時(shí)SQL任務(wù)僅在該時(shí)間范圍內(nèi)可被執(zhí)行。
說(shuō)明實(shí)例的調(diào)度時(shí)間必須在該范圍內(nèi),超出該范圍時(shí),定時(shí)SQL任務(wù)不再產(chǎn)生新實(shí)例。
調(diào)度時(shí)間范圍是指
__time__
。更多詳情請(qǐng)參見保留字段。
SQL時(shí)間窗口
定時(shí)SQL任務(wù)運(yùn)行時(shí),僅分析該時(shí)間范圍內(nèi)的日志。時(shí)間窗口與實(shí)例調(diào)度時(shí)間共同作用生效。該時(shí)間范圍不能大于調(diào)度間隔的5倍且不能超過1天。更多信息,請(qǐng)參見時(shí)間表達(dá)式語(yǔ)法。
例如,調(diào)度間隔為固定間隔10分鐘,起始時(shí)間為2021-04-01 00:00:00,延遲執(zhí)行為30秒,SQL時(shí)間窗口為[@m-10m,@m),則SQL任務(wù)運(yùn)行時(shí),在00:00:30時(shí)刻生成第一個(gè)執(zhí)行實(shí)例,分析的是
[23:50:00~00:00:00)
期間的日志。更多信息,請(qǐng)參見調(diào)度與執(zhí)行場(chǎng)景。說(shuō)明SQL時(shí)間窗口是指
__time__
,更多詳情請(qǐng)參見保留字段。如果未在SQL代碼中定義
__time__
,則寫入目標(biāo)Logstore的日志時(shí)間__time__
會(huì)默認(rèn)使用調(diào)度的開始時(shí)間。
SQL超時(shí)
執(zhí)行SQL分析操作失敗時(shí)自動(dòng)重試的閾值。當(dāng)重試時(shí)間超過指定的最大時(shí)間或者重試次數(shù)超過最大次數(shù)時(shí),該執(zhí)行實(shí)例結(jié)束,狀態(tài)為失敗。您可以根據(jù)失敗原因,手動(dòng)重試該實(shí)例。具體操作,請(qǐng)參見重試定時(shí)SQL任務(wù)實(shí)例。
延遲執(zhí)行
調(diào)度時(shí)間點(diǎn)往后延遲執(zhí)行的時(shí)間。取整范圍:0~120,單位:秒。
當(dāng)數(shù)據(jù)寫入Logstore存在延遲等情況時(shí),可通過延遲執(zhí)行來(lái)保證數(shù)據(jù)的完整性。
創(chuàng)建定時(shí)SQL任務(wù)后,您可以到目標(biāo)Logstore中查看SQL執(zhí)行結(jié)果數(shù)據(jù)。