Flink SQL支持添加提示(Hints),允許您手動影響執行計劃的生成結果,從而優化SQL作業的執行。本文為您介紹如何使用SQL提示。
動態表選項提示
從VVR 4.x開始,您可以通過動態表選項來動態地制定或覆蓋表選項,從而讓這些表參數僅在Query級別的范圍內生效。動態表選項的語法和示例,請參見動態表(dynamic table)選項。
查詢提示
維表聯接提示
維表聯接提示(Lookup Join Hints)詳情,請參見維表JOIN Hints 。
算子狀態生命周期(State TTL)提示
通過為狀態設置狀態生命周期,可以顯著減少算子狀態的大小,從而增強系統穩定性和可靠性。算子狀態生命周期設置的方式詳情如下:
狀態生命周期提示:為特殊的有狀態算子設置算子粒度的狀態生命周期。當前該方式僅適用于雙流聯接算子和分組聚合算子,具體的設置方式如下:
雙流聯接算子
VVR 8.0.7及以上版本:可以通過狀態生命周期提示或雙流JOIN hints的提示來實現。
VVR 8.0.1~VVR 8.0.6版本:僅支持通過雙流JOIN hints的提示來實現。
分組聚合算子
VVR 8.0.7及以上版本:通過分組聚合狀態生命周期提示實現,更多語法和示例請參見狀態生命周期提示。
VVR 8.0.6及以前版本:不支持配置算子狀態生命周期提示。
作業參數配置:設置作業參數來設置全局作業級別的狀態生命周期,詳情請參見table.exec.state.ttl。
專家模式:為有狀態算子配置算子粒度的狀態生命周期,詳情請參見配置算子并發、Chain策略和TTL。
說明
算子狀態生命周期設置生效的優先級從高到低依次是:專家模式、狀態生命周期提示、作業參數配置。
相關文檔
關于提示的基本能力詳情,請參見SQL Hints。
文檔內容是否對您有幫助?