本文將說明 Dataproc 最佳做法,協助您在實際工作環境中,透過 Dataproc 叢集執行可靠、高效且具洞察力的資料處理工作。
指定叢集映像檔版本
Dataproc 會使用映像檔版本,將作業系統、大數據元件和 Google Cloud 連接器整合成一個可於叢集部署的套件。如果您在建立叢集時未指定映像檔版本,Dataproc 會預設為使用最新的穩定映像檔版本。
如為實際工作環境,請將叢集與特定 major.minor
Dataproc 映像檔版本建立關聯,如以下 gcloud CLI 指令所示。
gcloud dataproc clusters create CLUSTER_NAME \ --region=region \ --image-version=2.0
Dataproc 會將 major.minor
版本解析為最新的次次要版本 (2.0
會解析為 2.0.x
)。注意:如果您需要為叢集使用特定的次次要版本,可以指定該版本,例如 --image-version=2.0.x
。詳情請參閱「版本管理的運作方式」。
Dataproc 預覽映像檔版本
新版 Dataproc 映像檔的次要版本會先在 preview
版本中發布,之後才會在標準次要映像檔版本管道中發布。在實際工作環境中採用標準次要映像檔版本前,請使用預覽映像檔,針對新次要映像檔版本測試及驗證工作。詳情請參閱Dataproc 版本管理。
視需要使用自訂圖片
如果您有要新增至叢集的依附元件 (例如原生 Python 程式庫、安全強化或防毒軟體),請從目標次要映像檔版本追蹤中的最新映像檔建立自訂映像檔。這項做法可讓您在使用自訂映像檔建立叢集時,滿足依附元件需求。重新建構自訂映像檔以更新依附元件需求時,請使用次要圖像追蹤中最新的次次要圖像版本。
將工作提交至 Dataproc 服務
使用 gcloud CLI 或 Google Cloud 主控台,透過 jobs.submit 呼叫將工作提交至 Dataproc 服務。授予 Dataproc 角色,設定工作和叢集權限。使用自訂角色,將叢集存取權與工作提交權限分開。
將工作提交至 Dataproc 服務的好處:
- 不需要複雜的網路設定,API 可廣泛存取
- 輕鬆管理身分與存取權管理權限和角色
- 輕鬆追蹤工作狀態 - 沒有 Dataproc 工作中繼資料,不會讓結果變得複雜。
在實際工作環境中,請執行只依附叢集層級依附元件的作業,且使用固定的次要映像檔版本 (例如 --image-version=2.0
)。在提交工作時,請將依附元件與工作捆綁在一起。常見的做法是將 uber jar 提交至 Spark 或 MapReduce。
- 範例:如果工作 JAR 檔案依賴
args4j
和spark-sql
,其中args4j
專屬於工作,而spark-sql
是叢集層級相依性,請在工作的超級 JAR 檔案中封裝args4j
。
控制初始化動作位置
初始化動作可讓您在建立 Dataproc 叢集時自動執行指令碼或安裝元件 (如要瞭解常見的 Dataproc 初始化動作,請參閱 dataproc-initialization-actions GitHub 存放區)。在實際環境中使用叢集初始化動作時,請將初始化指令碼複製到 Cloud Storage,而非從公開存放區取得。這麼做可避免執行初始化指令碼,因為這類指令碼可能會遭到他人修改。
監控 Dataproc 版本資訊
Dataproc 會定期發布新的次次要映像檔版本。如要瞭解最新的 Dataproc 映像檔版本發布資訊,以及其他公告、異動和修正,請查看或訂閱 Dataproc 版本資訊。
查看暫存區以調查失敗
查看叢集的測試值區,瞭解叢集和工作錯誤訊息。通常,錯誤訊息會顯示前置值區 Cloud Storage 位置,如以下錯誤訊息範例中的粗體文字所示:
ERROR: (gcloud.dataproc.clusters.create) Operation ... failed: ... - Initialization action failed. Failed action ... see output in: gs://dataproc-<BUCKETID>-us-central1/google-cloud-dataproc-metainfo/CLUSTERID/<CLUSTER_ID>\dataproc-initialization-script-0_output
使用 gcloud CLI 查看暫存值區內容:
輸出內容範例:gcloud storage cat gs://STAGING_BUCKET
+ readonly RANGER_VERSION=1.2.0 ... Ranger admin password not set. Please use metadata flag - default-password
取得支援
Google Cloud 支援實際的 OSS 工作負載,並透過支援層級協助您達成業務服務水準協議。此外, Google Cloud 顧問服務還可針對團隊的正式部署作業提供最佳做法指南。
瞭解詳情
請參閱 Google Cloud 博客 Dataproc 最佳做法指南。
在 YouTube 上觀看「讓 Dataproc 更加普及」