Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWSKualitas Data Glue dalam rilis pratinjau untuk AWS Glue dan dapat berubah sewaktu-waktu. |
Package: com.amazonaws.services.glue.dq
object EvaluateDataQuality
Def berlaku
def apply(frame: DynamicFrame,
ruleset: String,
publishingOptions: JsonOptions = JsonOptions.empty): DynamicFrame
Mengevaluasi aturan kualitas data terhadapDynamicFrame
, dan mengembalikan yang baru DynamicFrame
dengan hasil evaluasi. Untuk mempelajari lebih lanjut tentang Kualitas Data AWS Glue, lihatAWS Glue Kualitas Data.
-
frame
—DynamicFrame
Yang ingin Anda evaluasi kualitas data. -
ruleset
— Aturan Bahasa Definisi Kualitas Data (DQDL) dalam format string. Untuk mempelajari lebih lanjut tentang DQDL, lihat panduan. Referensi Definisi Kualitas Data Bahasa (DQDL) -
publishingOptions
— Kamus yang menentukan opsi berikut untuk mempublikasikan hasil evaluasi dan metrik:-
dataQualityEvaluationContext
— String yang menentukan namespace di mana AWS Glue harus mempublikasikan Amazon CloudWatch metrik dan hasil kualitas data. Metrik agregat muncul di CloudWatch, sementara hasil lengkap muncul di antarmuka AWS Glue Studio.-
Wajib: Tidak
-
Nilai default:
default_context
-
-
enableDataQualityCloudWatchMetrics
— Menentukan apakah hasil evaluasi kualitas data harus dipublikasikan ke CloudWatch. Anda menentukan namespace untuk metrik menggunakan opsi.dataQualityEvaluationContext
-
Wajib: Tidak
-
Nilai default: Salah
-
-
enableDataQualityResultsPublishing
— Menentukan apakah hasil kualitas data harus terlihat pada tab Kualitas Data di antarmuka AWS Glue Studio.-
Wajib: Tidak
-
Nilai default: Benar
-
-
resultsS3Prefix
— Menentukan lokasi Amazon S3 di mana AWS Glue dapat menulis hasil evaluasi kualitas data.-
Wajib: Tidak
-
Nilai default: “” (string kosong)
-
-
Contoh
Contoh kode berikut menunjukkan bagaimana mengevaluasi kualitas data untuk DynamicFrame
sebelum melakukan SelectFields
transformasi. Skrip memverifikasi bahwa semua aturan kualitas data lulus sebelum mencoba transformasi.
import com.amazonaws.services.glue.GlueContext
import com.amazonaws.services.glue.MappingSpec
import com.amazonaws.services.glue.errors.CallSite
import com.amazonaws.services.glue.util.GlueArgParser
import com.amazonaws.services.glue.util.Job
import com.amazonaws.services.glue.util.JsonOptions
import org.apache.spark.SparkContext
import scala.collection.JavaConverters._
import com.amazonaws.services.glue.dq.EvaluateDataQuality
object GlueApp {
def main(sysArgs: Array[String]) {
val spark: SparkContext = new SparkContext()
val glueContext: GlueContext = new GlueContext(spark)
// @params: [JOB_NAME]
val args = GlueArgParser.getResolvedOptions(sysArgs, Seq("JOB_NAME").toArray)
Job.init(args("JOB_NAME"), glueContext, args.asJava)
// Create DynamicFrame with data
val Legislators_Area = glueContext.getCatalogSource(database="legislators", tableName="areas_json", transformationContext="S3bucket_node1").getDynamicFrame()
// Define data quality ruleset
val DQ_Ruleset = """
Rules = [ColumnExists "id"]
"""
// Evaluate data quality
val DQ_Results = EvaluateDataQuality.apply(frame=Legislators_Area, ruleset=DQ_Ruleset, publishingOptions=JsonOptions("""{"dataQualityEvaluationContext": "Legislators_Area", "enableDataQualityMetrics": "true", "enableDataQualityResultsPublishing": "true"}"""))
assert(DQ_Results.filter(_.getField("Outcome").contains("Failed")).count == 0, "Failing DQ rules for Legislators_Area caused the job to fail.")
// Script generated for node Select Fields
val SelectFields_Results = Legislators_Area.selectFields(paths=Seq("id", "name"), transformationContext="Legislators_Area")
Job.commit()
}
}