התכונה DataprocFileOutputCommitter היא גרסה משופרת של FileOutputCommitter קוד פתוח. הוא מאפשר כתיבה בו-זמנית של משימות Apache Spark למיקום פלט.
מגבלות
התכונה DataprocFileOutputCommitter תומכת במשימות Spark שמופעלות באשכולות של Managed Service for Apache Spark Compute Engine שנוצרו עם גרסאות התמונות הבאות:
גרסאות תמונה 2.1.10 ומעלה
גרסאות תמונה 2.0.62 ומעלה
שימוש ב-DataprocFileOutputCommitter
כדי להשתמש בתכונה הזו:
יוצרים אשכול של Managed Service for Apache Spark ב-Compute Engine באמצעות גרסאות תמונה
2.1.10או2.0.62ואילך.מגדירים את
spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactoryואתspark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=falseכמאפיין של עבודה כששולחים עבודת Spark לאשכול.- דוגמה ל-Google Cloud CLI:
gcloud dataproc jobs submit spark \ --properties=spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactory,spark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=false \ --region=REGION \ other args ...
- קוד לדוגמה:
sc.hadoopConfiguration.set("spark.hadoop.mapreduce.outputcommitter.factory.class","org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactory") sc.hadoopConfiguration.set("spark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs","false")