任務運行資源是指在Dataphin中建立任務並在運行時任務所佔的調度資源,即CPU和記憶體的大小。本文為您介紹在Dataphin中如何自訂任務運行資源,助力您根據自身需求分配更合適的資源大小。
任務資源分類
Dataphin任務按運行模式可分為兩大類:
共用調度資源任務:對於共用調度資源任務,所有共用調度資源的任務會運行在同一個容器中。例如,SQL任務、邏輯表任務、基於計算模板建立的且計算模板已開啟共用資源配置的任務。更多資訊,請參見建立離線計算模板。
獨享調度資源任務:對於非共用調度資源任務,每次任務啟動時都會啟動一個新的容器用於執行任務。例如,Shell、Python、MapReduce、整合等任務。
即時整合和Realtime Compute任務運行暫不消耗Dataphin調度叢集資源。
任務運行資源消耗
任務運行時所用的資源消耗由兩部分組成,容器基座和任務資源。
容器基座:容器基座資源由系統配置決定,不可修改。具體詳情,請參見容器基座。
任務資源:對於任務資源,您可進行自訂。Dataphin支援以下兩種方式進行配置。
通過添加註解語句配置任務資源。具體操作,請參見任務資源配置說明。
通過Dataphin自訂資源群組功能為任務配置運行資源。具體詳情,請參見自訂調度資源群組概述。
重要當前僅支援基於最新架構部署的客戶使用自訂資源群組功能,詳情請聯絡產品營運團隊。
容器基座
容器基座資源消耗詳情如下:
任務類型 | 資源 |
獨享調度資源任務 | 每個任務運行需要獨立的容器資源。資源消耗如下:
任務運行完成後,容器資源和任務資源將一起釋放。 |
共用調度資源任務 | 任務運行共用一個容器。資源消耗如下:
每個容器可支援一定的並發運行量,容器資源不會跟隨任務運行結束而釋放,但是當持續一段時間沒有任務運行時,會自動釋放容器資源。 |
任務預設資源
各任務類型的預設資源配置與自訂支援情況見下表所示:
任務類型 | 預設任務資源 | 是否可自訂 |
Shell/Python | CPU:0.1核 記憶體:256MB | 是 |
離線管道/任務同步 | CPU:0.5核 記憶體:1GB | 是 |
SQL | 不消耗額外資源。 | 否 |
Spark(JAR/SQL) | CPU:0.3核 記憶體:4GB | 是 |
MapReduce | CPU:0.2核 記憶體:512MB | 是 |
任務資源配置說明
自訂資源配置CPU可配置區間0.001CPU~4.0CPU,記憶體可配置區間32MB~16GB。若您需自訂任務資源大小,您可以在任務的代碼頭部添加註解語句:
@required_resource{required_memory=記憶體大小;required_cpus=CPU大小}程式碼範例:
!#/bin/bash
@required_resource{required_memory=2GB;required_cpus=1.0}
@resource_reference{"test-boot.jar"}
java -jar test-boot.jar -Xms 1024m -Xmx 1024m