שימוש באיכות נתונים אוטומטית

במאמר הזה מוסבר איך להשתמש בסריקות של איכות הנתונים ב-Knowledge Catalog (לשעבר Dataplex Universal Catalog) כדי למדוד, לעקוב ולנהל את איכות הנתונים. סריקות של איכות הנתונים עוזרות לאמת את הנתונים באופן אוטומטי כדי לוודא שהם מלאים, תקפים ועקביים.

באמצעות סריקות של איכות הנתונים, אתם יכולים להגדיר כללים לבדיקה של ערכים חסרים, לוודא שהערכים תואמים לביטוי רגולרי או שייכים לקבוצה, לוודא שהערכים ייחודיים או להשתמש ב-SQL מותאם אישית כדי לבצע אימותים מורכבים יותר, כמו זיהוי אנומליות. במאמר הזה מוסבר איך ליצור ולנהל סריקות של איכות הנתונים.

מידע נוסף על סריקות של איכות הנתונים מידע נוסף על שימוש חוזר בכללי איכות נתונים בסריקות מרובות

לפני שמתחילים

  1. מפעילים את Dataplex API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    להפעלת ה-API

  2. אופציונלי: אם רוצים ש-Knowledge Catalog ייצור המלצות לכללים של איכות נתונים על סמך התוצאות של סריקת פרופיל נתונים, יוצרים ומריצים את סריקת פרופיל הנתונים.

תפקידים והרשאות נדרשים

בקטע הזה מתוארים התפקידים וההרשאות של IAM שנדרשים כדי להשתמש בסריקות של איכות הנתונים ב-Knowledge Catalog.

תפקידים והרשאות של משתמשים

כדי לקבל את ההרשאות שדרושות להרצה ולניהול של סריקות איכות נתונים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

  • מריצים סריקה של איכות הנתונים בטבלה ב-BigQuery:
    • BigQuery Job User (roles/bigquery.jobUser) בפרויקט כדי להריץ משימות סריקה
    • BigQuery Data Viewer (צפייה בנתוני BigQuery) ‏(roles/bigquery.dataViewer) בטבלת BigQuery שרוצים לסרוק
  • פרסום תוצאות של סריקת איכות נתונים ב-Knowledge Catalog:
  • ביצוע משימות ספציפיות במשאבים של DataScan:

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות להרצה ולניהול של סריקות איכות נתונים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי להריץ סריקות של איכות הנתונים ולנהל אותן, נדרשות ההרשאות הבאות:

  • מריצים סריקה של איכות הנתונים בטבלת BigQuery:
    • bigquery.jobs.create בפרויקט כדי להריץ משימות סריקה
    • bigquery.tables.get בטבלה ב-BigQuery שרוצים לסרוק
    • bigquery.tables.getData בטבלה ב-BigQuery שרוצים לסרוק
  • פרסום תוצאות של סריקת איכות נתונים ב-Knowledge Catalog:
    • bigquery.tables.update בטבלה שנסרקה
    • dataplex.entryGroups.useDataQualityScorecardAspect בתוך קבוצת הרשומות @bigquery באותו מיקום כמו הטבלה
  • יצירת DataScan: dataplex.datascans.create בפרויקט
  • מחיקת DataScan: dataplex.datascans.delete בפרויקט
  • כדי להציג את המטא-נתונים של DataScan: dataplex.datascans.get בפרויקט
  • צפייה בפרטים של DataScan, כולל כללים ותוצאות: dataplex.datascans.getData בפרויקט
  • רשימת DataScan: dataplex.datascans.list בפרויקט
  • להריץ DataScan: dataplex.datascans.run בפרויקט
  • עדכון של DataScan: dataplex.datascans.update בפרויקט
  • קבלת מדיניות IAM או הגדרת מדיניות IAM ב-DataScan:
    • dataplex.datascans.getIamPolicy בפרויקט
    • dataplex.datascans.setIamPolicy בפרויקט

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

אם אתם צריכים לגשת לעמודות שמוגנות על ידי מדיניות גישה ברמת העמודה ב-BigQuery, אתם צריכים גם הרשאות לעמודות האלה.

תפקידים והרשאות של חשבון שירות ב-Knowledge Catalog

אם לא יצרתם סריקות של איכות נתונים או סריקת פרופיל נתונים, או אם אין לכם אגם של Knowledge Catalog בפרויקט הזה, אתם צריכים ליצור מזהה שירות על ידי הרצת הפקודה: gcloud beta services identity create --service=dataplex.googleapis.com. הפקודה הזו מחזירה מזהה שירות של Knowledge Catalog אם הוא קיים.

כדי לוודא שלחשבון השירות של Knowledge Catalog בפרויקט שמכיל את הסריקה של איכות הנתונים יש את ההרשאות הנדרשות לקריאת נתונים ממקורות שונים ולייצוא תוצאות, צריך לבקש מהאדמין להקצות את תפקידי ה-IAM הבאים לחשבון השירות של Knowledge Catalog בפרויקט שמכיל את הסריקה של איכות הנתונים:

  • קריאת נתונים מטבלאות BigQuery: ‫BigQuery Data Viewer (roles/bigquery.dataViewer) בטבלאות BigQuery שצריך לסרוק ובכל טבלה אחרת שמפנים אליה בכללים
  • קריאת נתוני טבלה בקטלוג REST של Iceberg: ‫BigLake Viewer (roles/biglake.viewer) בטבלאות של קטלוג REST של Iceberg שצריך לסרוק ובכל טבלה אחרת שמפנים אליה בכללים
  • ייצוא תוצאות הסריקה לטבלה ב-BigQuery: BigQuery Data Editor (roles/bigquery.dataEditor) במערך הנתונים ובטבלה של התוצאות
  • סריקת נתונים ב-BigQuery שמסודרים באגם של Knowledge Catalog:
  • סריקה של טבלה חיצונית ב-BigQuery מ-Cloud Storage: Storage Object Viewer (roles/storage.objectViewer) בקטגוריה של Cloud Storage

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות לקריאת נתונים ממקורות שונים ולייצוא תוצאות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי לקרוא נתונים ממקורות שונים ולייצא תוצאות, נדרשות ההרשאות הבאות:

  • קריאת נתונים מטבלה ב-BigQuery:
    • bigquery.tables.get בטבלאות BigQuery
    • bigquery.tables.getData בטבלאות BigQuery
  • ייצוא תוצאות הסריקה לטבלה ב-BigQuery:
    • bigquery.datasets.get בטבלה ובמערך הנתונים של התוצאות
    • bigquery.tables.create בטבלה ובמערך הנתונים של התוצאות
    • bigquery.tables.get בטבלה ובמערך הנתונים של התוצאות
    • bigquery.tables.getData בטבלה ובמערך הנתונים של התוצאות
    • bigquery.tables.update בטבלה ובמערך הנתונים של התוצאות
    • bigquery.tables.updateData בטבלה ובמערך הנתונים של התוצאות
  • סריקת נתונים ב-BigQuery שמסודרים באגם Knowledge Catalog:
    • dataplex.lakes.list במשאבי Dataplex
    • dataplex.lakes.get במשאבי Dataplex
    • dataplex.zones.list במשאבי Dataplex
    • dataplex.zones.get במשאבי Dataplex
    • dataplex.entities.list במשאבי Dataplex
    • dataplex.entities.get במשאבי Dataplex
    • dataplex.operations.get במשאבי Dataplex
  • סריקה של טבלה חיצונית ב-BigQuery מ-Cloud Storage:
    • storage.buckets.get בקטגוריה של Cloud Storage
    • storage.objects.get בקטגוריה של Cloud Storage

יכול להיות שהאדמין יוכל גם להעניק לחשבון השירות של Knowledge Catalog בפרויקט שמכיל את הסריקה של איכות הנתונים את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

אם אתם צריכים לגשת לעמודות שמוגנות על ידי מדיניות גישה ברמת העמודה ב-BigQuery, אתם צריכים להקצות הרשאות לחשבון השירות של Knowledge Catalog לעמודות האלה.

אם בטבלה מופעלות מדיניות גישה ברמת השורה ב-BigQuery, אפשר לסרוק רק את השורות שחשבון השירות של Knowledge Catalog יכול לראות. הערה: הרשאות הגישה של משתמשים ספציפיים לא נבדקות במדיניות ברמת השורה.

הגדרת כללים לאיכות הנתונים

אפשר להגדיר כללים לאיכות הנתונים באמצעות:

אם אתם משתמשים ב-CLI של gcloud, אתם יכולים להגדיר את הכללים האלה בקובץ JSON או YAML.

בדוגמאות שבקטעים הבאים מוסבר איך להגדיר מגוון כללים של איכות נתונים. הכללים מאמתים טבלת דוגמה שמכילה נתונים על עסקאות של לקוחות. נניח שהסכימה של הטבלה היא:

שם העמודה סוג העמודה תיאור העמודה
transaction_timestamp חותמת הזמן חותמת הזמן של העסקה. הטבלה מחולקת למחיצות לפי השדה הזה.
customer_id String מספר לקוח בפורמט של 8 אותיות ואחריהן 16 ספרות.
transaction_id String מזהה העסקה צריך להיות ייחודי בכל הטבלה.
currency_id String אחד מהמטבעות הנתמכים.סוג המטבע חייב להיות אחד מהמטבעות הזמינים בטבלת המאפיינים dim_currency.
amount מספר ממשי (float) סכום העסקה.
discount_pct מספר ממשי (float) אחוז ההנחה. הערך צריך להיות בין 0 ל-100.

הגדרת כללים לאיכות הנתונים באמצעות סוגי כללים מובנים

כללי הדוגמה הבאים מבוססים על סוגי כללים מובנים. אפשר ליצור כללים על סמך סוגי כללים מובנים באמצעות Google Cloud המסוף או ה-API. יכול להיות ש-Knowledge Catalog ימליץ על חלק מהכללים האלה.

שם עמודה סוג הכלל המימד המוצע פרמטרים של כללים
transaction_id בדיקת ייחודיות ייחודיות סף: Not Applicable
amount בדיקת ערך Null השלמות סף: 100%
customer_id בדיקת ביטוי רגולרי (regex) תוקף ביטוי רגולרי: ^[0-9]{8}[a-zA-Z]{16}$
ערך סף: 100%
currency_id בדיקת ערך מוגדר תוקף קבוצה של: USD,JPY,INR,GBP,CAN
סף: 100%

הגדרת כללים לאיכות הנתונים באמצעות כללי SQL בהתאמה אישית

כדי ליצור כללי SQL בהתאמה אישית, משתמשים במסגרת הבאה:

  • כשיוצרים כלל שמעריך שורה אחת בכל פעם, צריך ליצור ביטוי שמפיק את מספר השורות שהוערכו בהצלחה כש-Knowledge Catalog מעריך את השאילתה SELECT COUNTIF(CUSTOM_SQL_EXPRESSION) FROM TABLE. ב-Knowledge Catalog נבדק אם מספר השורות שעברו בהצלחה עומד בסף.

  • כשיוצרים כלל שבודק את השורות או משתמש בתנאי של טבלה, צריך ליצור ביטוי שמחזיר הצלחה או כישלון כש-Knowledge Catalog בודק את השאילתה SELECT IF(CUSTOM_SQL_EXPRESSION) FROM TABLE.

  • כשיוצרים כלל שמעריך את המצב הלא תקין של מערך נתונים, צריך לספק הצהרה שמחזירה שורות לא תקינות. אם מוחזרות שורות, הכלל נכשל. משמיטים את הנקודה-פסיק בסוף הצהרת ה-SQL.

  • אפשר להפנות לטבלה של מקור נתונים ולכל מסנני התנאים המוקדמים שלה באמצעות פרמטר ההפניה לנתונים ${data()} בכלל, במקום לציין במפורש את טבלת המקור והמסננים שלה. דוגמאות למסנני תנאי מוקדם כוללות מסנני שורות, אחוזים של דגימה ומסננים מצטברים. הפרמטר ${data()} הוא תלוי אותיות רישיות.

הכללים הבאים מבוססים על כללי SQL בהתאמה אישית.

סוג הכלל תיאור הכלל ביטוי SQL
תנאי השורה בודקת אם הערך של discount_pct הוא בין 0 ל-100. 0 <discount_pct AND discount_pct < 100
תנאי השורה בדיקה של הפניה כדי לוודא ש-currency_id היא אחת מהמטבעות הנתמכים. currency_id in (select id from my_project_id.dim_dataset.dim_currency)
מצב הטבלה ביטוי SQL מצטבר שבודק אם הערך הממוצע של discount_pct הוא בין 30% ל-50%. 30<avg(discount) AND avg(discount) <50
תנאי השורה הפונקציה בודקת אם תאריך מסוים לא חל בעתיד. TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
מצב הטבלה פונקציה בהגדרת המשתמש (UDF) ב-BigQuery כדי לבדוק שהסכום הממוצע של העסקאות קטן מערך מוגדר מראש לכל מדינה. כדי ליצור את ה-UDF (ב-JavaScript), מריצים את הפקודה הבאה:
        CREATE OR REPLACE FUNCTION
        myProject.myDataset.average_by_country (
          country STRING, average FLOAT64)
        RETURNS BOOL LANGUAGE js AS R"""
        if (country = "CAN" && average < 5000){
          return 1
        } else if (country = "IND" && average < 1000){
          return 1
        } else { return 0 }
        """;
       
דוגמה לכלל לבדיקת סכום העסקה הממוצע עבור country=CAN.
        myProject.myDataset.average_by_country(
        "CAN",
        (SELECT avg(amount) FROM
          myProject.myDataset.transactions_table
            WHERE currency_id = 'CAN'
        ))
      
מצב הטבלה סעיף BigQuery ML predict לזיהוי חריגות ב-discount_pct. המערכת בודקת אם צריך להחיל הנחה על סמך customer,‏ currency ו-transaction. הכלל בודק אם התחזית תואמת לערך בפועל ב-99% מהמקרים לפחות. הנחה: מודל למידת המכונה נוצר לפני השימוש בכלל. יוצרים את מודל ה-ML באמצעות הפקודה הבאה:
  CREATE MODEL
  model-project-id.dataset-id.model-name
        OPTIONS(model_type='logistic_reg') AS
  SELECT
  IF(discount_pct IS NULL, 0, 1) AS label,
  IFNULL(customer_id, "") AS customer,
  IFNULL(currency_id, "") AS currency,
  IFNULL(amount, 0.0) AS amount
  FROM
  `data-project-id.dataset-id.table-names`
  WHERE transaction_timestamp < '2022-01-01';
  
הכלל הבא בודק אם דיוק התחזית גדול מ-99%.
      SELECT
        accuracy > 0.99
      FROM
       ML.EVALUATE
        (MODEL model-project-id.dataset-id.model-name,
         (
          SELECT
            customer_id,
            currency_id,
            amount,
            discount_pct
          FROM
            data-project-id.dataset-id.table-names
          WHERE transaction_timestamp > '2022-01-01';
         )
        )
    
תנאי השורה פונקציית חיזוי של BigQuery ML לזיהוי אנומליות ב-discount_pct. הפונקציה בודקת אם צריך להחיל הנחה על סמך customer, currency ו-transaction. הכלל מזהה את כל המקרים שבהם התחזית לא תאמה. הנחה: מודל ה-ML נוצר לפני השימוש בכלל. יוצרים את מודל למידת המכונה באמצעות הפקודה הבאה:
  CREATE MODEL
  model-project-id.dataset-id.model-name
        OPTIONS(model_type='logistic_reg') AS
  SELECT
  IF(discount_pct IS NULL, 0, 1) AS label,
  IFNULL(customer_id, "") AS customer,
  IFNULL(currency_id, "") AS currency,
  IFNULL(amount, 0.0) AS amount
  FROM
  `data-project-id.dataset-id.table-names`
  WHERE transaction_timestamp < '2022-01-01';
  
הכלל הבא בודק אם התחזית לגבי ההנחה תואמת לערך בפועל בכל שורה.
       IF(discount_pct > 0, 1, 0)
          =(SELECT predicted_label FROM
           ML.PREDICT(
            MODEL model-project-id.dataset-id.model-name,
              (
                SELECT
                  customer_id,
                  currency_id,
                  amount,
                  discount_pct
                FROM
                  data-project-id.dataset-id.table-names AS t
                    WHERE t.transaction_timestamp =
                     transaction_timestamp
                   LIMIT 1
              )
            )
         )
    
טענת נכוֹנוּת (assertion) של SQL הפונקציה בודקת אם הערך של discount_pct גדול מ-30% להיום, על ידי בדיקה אם יש שורות עם אחוז הנחה שקטן מ-30 או שווה ל-30. SELECT * FROM my_project_id.dim_dataset.dim_currency WHERE discount_pct <= 30 AND transaction_timestamp >= current_date()
טענת SQL (עם פרמטר הפניה לנתונים)

הפונקציה בודקת אם הערך של discount_pct גדול מ-30% בכל המטבעות הנתמכים היום.

מסנן התאריכים transaction_timestamp >= current_date() מוחל כמסנן שורות על טבלת מקור הנתונים.

פרמטר ההפניה לנתונים ${data()} פועל כ-placeholder עבור my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date() ומחיל את מסנן השורות.

SELECT * FROM ${data()} WHERE discount_pct > 30

הגדרת כללים לאיכות הנתונים באמצעות ה-CLI של gcloud

בקובץ ה-YAML לדוגמה הבא נעשה שימוש בחלק מהכללים שמופיעים בכללים לדוגמה באמצעות סוגים מובנים ובכללי SQL מותאמים אישית לדוגמה. קובץ ה-YAML הזה מכיל גם מפרטים אחרים לסריקת איכות הנתונים, כמו מסננים ואחוז הדגימה. כשמשתמשים ב-CLI של gcloud כדי ליצור או לעדכן סריקה של איכות הנתונים, אפשר להשתמש בקובץ YAML כמו זה שמוצג כאן כקלט לארגומנט --data-quality-spec-file.

rules:
- uniquenessExpectation: {}
  column: transaction_id
  dimension: UNIQUENESS
- nonNullExpectation: {}
  column: amount
  dimension: COMPLETENESS
  threshold: 1
- regexExpectation:
    regex: '^[0-9]{8}[a-zA-Z]{16}$'
  column : customer_id
  ignoreNull : true
  dimension : VALIDITY
  threshold : 1
- setExpectation :
    values :
    - 'USD'
    - 'JPY'
    - 'INR'
    - 'GBP'
    - 'CAN'
  column : currency_id
  ignoreNull : true
  dimension : VALIDITY
  threshold : 1
- rangeExpectation:
    minValue : '0'
    maxValue : '100'
  column : discount_pct
  ignoreNull : true
  dimension : VALIDITY
  threshold : 1
- rowConditionExpectation:
    sqlExpression : 0 < `discount_pct` AND `discount_pct` < 100
  column: discount_pct
  dimension: VALIDITY
  threshold: 1
- rowConditionExpectation:
    sqlExpression : currency_id in (select id from `my_project_id.dim_dataset.dim_currency`)
  column: currency_id
  dimension: VALIDITY
  threshold: 1
- tableConditionExpectation:
    sqlExpression : 30 < avg(discount_pct) AND avg(discount_pct) < 50
  dimension: VALIDITY
- rowConditionExpectation:
    sqlExpression : TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
  column: transaction_timestamp
  dimension: VALIDITY
  threshold: 1
- sqlAssertion:
    sqlStatement : SELECT * FROM `my_project_id.dim_dataset.dim_currency` WHERE discount_pct > 100
  dimension: VALIDITY
  debugQueries:
  - sqlStatement: SELECT MAX(discount_pct) FROM `my_project_id.dim_dataset.dim_currency`
samplingPercent: 50
rowFilter: discount_pct > 100
postScanActions:
  bigqueryExport:
    resultsTable: projects/my_project_id/datasets/dim_dataset/tables/dim_currency
  notificationReport:
    recipients:
      emails:
      - '222larabrown@gmail.com'
      - 'cloudysanfrancisco@gmail.com'
    scoreThresholdTrigger:
      scoreThreshold: 50
    jobFailureTrigger: {}
    jobEndTrigger: {}
catalogPublishingEnabled: true

הגדרת זהות ההרצה

כברירת מחדל, סריקות של איכות הנתונים מופעלות באמצעות חשבון השירות של Knowledge Catalog. אפשר לשנות את ברירת המחדל כדי להשתמש בחשבון שירות בהתאמה אישית או בפרטי כניסה משלכם של משתמשי קצה (EUC).

שימוש בזהות ביצוע מותאמת אישית משנה את אופן החיוב על הסריקה. כשמציינים זהות ביצוע מותאמת אישית, עלויות האחסון והחישוב שמשויכות לסריקה מחויבות ישירות בפרויקט BigQuery, בלי לעבור דרך המק"טים הרגילים של Knowledge Catalog Premium.

הרשאות שנדרשות לזהויות מותאמות אישית להרצת תהליכים

כדי להגדיר חשבון שירות בהתאמה אישית או להשתמש בפרטי כניסה של משתמש קצה, אתם צריכים את הרשאות ה-IAM הנוספות הבאות:

  • כדי להשתמש בחשבון שירות בהתאמה אישית, צריך:
    • ההרשאה iam.serviceAccounts.actAs שניתנה לפרויקט שמכיל את חשבון השירות (לדוגמה, roles/iam.serviceAccountUser).
    • לסוכן השירות של הפרויקט (service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) צריכה להיות ההרשאה iam.serviceAccounts.getAccessToken בחשבון השירות המותאם אישית (לדוגמה, אם מוקצה לו התפקיד roles/iam.serviceAccountTokenCreator).
    • לחשבון השירות המותאם אישית צריך להיות bigquery.tables.getData בטבלה כדי לסרוק, bigquery.jobs.insert בפרויקט הסריקה וbigquery.dataEditor במערך הנתונים לייצוא (אם משתמשים בייצוא).
  • כדי להשתמש בפרטי כניסה של משתמשי קצה, צריך:
    • bigquery.tables.getData על השולחן כדי לסרוק.
    • bigquery.jobs.insert בפרויקט הסריקה.
    • bigquery.dataEditor במערך הנתונים לייצוא (אם משתמשים בייצוא).

כדי להגדיר את זהות ההרצה, בוחרים באחת מהאפשרויות הבאות:

המסוף

כדי להגדיר את זהות ההרצה במסוף Google Cloud , בוחרים את הזהות כשיוצרים את הסריקה של איכות הנתונים.

בקטע Execution Identity, בוחרים באחת מהאפשרויות הבאות:

  • Dataplex Service Agent: התנהגות ברירת המחדל.
  • Service Account (חשבון שירות): מזינים את כתובת האימייל של חשבון השירות שרוצים להשתמש בו.
  • פרטי כניסה של משתמש: משתמשים בפרטי הכניסה שלכם כדי להריץ את הסריקה.

REST

כדי להשתמש בחשבון שירות מותאם אישית, מוסיפים את האובייקט executionIdentity להגדרת המשאב DataScan במהלך הבקשה create:

"executionIdentity": {
  "serviceAccount": {
     "email": "YOUR_SERVICE_ACCOUNT_EMAIL"
  }
}
  

מחליפים את מה שכתוב בשדות הבאים:

  • YOUR_SERVICE_ACCOUNT_EMAIL: כתובת האימייל של חשבון השירות שבו רוצים להשתמש.

כדי להשתמש בפרטי כניסה של משתמשי קצה, צריך לציין את האובייקט userCredential במקום זאת:

"executionIdentity": {
  "userCredential": {}
}
  

יצירת סריקה של איכות הנתונים

המסוף

  1. במסוף Google Cloud , עוברים לדף Knowledge Catalog (קטלוג הידע) Data profiling & quality (פרופיל ואיכות נתונים).

    מעבר לפרופיל נתונים ולאיכות נתונים

  2. לוחצים על יצירת סריקה של איכות הנתונים.

  3. בחלון Define scan (הגדרת סריקה), ממלאים את השדות הבאים:

    1. אופציונלי: מזינים שם לתצוגה.

    2. מזינים מזהה. מוסכמות למתן שמות למשאבים

    3. אופציונלי: מזינים תיאור.

    4. בשדה טבלה, לוחצים על עיון. בוחרים את הטבלה שרוצים לסרוק ולוחצים על בחירה. יש תמיכה רק בטבלאות של קטלוג BigQuery סטנדרטי ושל קטלוג Iceberg REST.

      עבור טבלאות במערכי נתונים במספר אזורים, בוחרים אזור שבו ייסרקו הנתונים.

      כדי לעיין בטבלאות שמאורגנות באגמי Knowledge Catalog, לוחצים על עיון באגמי Knowledge Catalog.

    5. בשדה היקף, בוחרים באפשרות מצטבר או כל הנתונים.

      • אם בוחרים באפשרות מצטבר: בשדה עמודת חותמת הזמן, בוחרים עמודה מהסוג DATE או TIMESTAMP מטבלת BigQuery, שערכיה גדלים ככל שמוסיפים רשומות חדשות, ושניתן להשתמש בה כדי לזהות רשומות חדשות. יכולה להיות עמודה שמחלקת את הטבלה למחיצות.
    6. אופציונלי: כדי לסנן את הנתונים, מסמנים את התיבה סינון שורות. צריך לספק מסנן שורות שמורכב מביטוי SQL תקין שאפשר להשתמש בו כחלק מסעיף WHERE בתחביר GoogleSQL. לדוגמה, col1 >= 0. המסנן יכול להיות שילוב של כמה תנאים של עמודות. לדוגמה, col1 >= 0 AND col2 < 10.

    7. כדי לדגום את הנתונים, בוחרים אחוז דגימה ברשימה גודל הדגימה. בוחרים ערך באחוזים בטווח שבין 0.0% ל-100.0%, עם עד 3 ספרות אחרי הנקודה העשרונית. למערכי נתונים גדולים יותר, מומלץ לבחור אחוז דגימה נמוך יותר. לדוגמה, אם הטבלה היא בגודל 1 PB, והזנתם ערך בין 0.1% ל-1.0%, הסריקה של איכות הנתונים תדגום בין 1 ל-10 TB של נתונים. בסריקות מצטברות של נתונים, סריקת איכות הנתונים חלה על הדגימה של התוספת האחרונה.

    8. אופציונלי: כדי לפרסם את תוצאות הסריקה של איכות הנתונים כמטא-נתונים של Knowledge Catalog, מסמנים את תיבת הסימון פרסום התוצאות ב-Knowledge Catalog.

      אפשר לראות את התוצאות האחרונות של הסריקה בכרטיסייה איכות הנתונים בדפים של BigQuery ושל Knowledge Catalog עבור טבלת המקור. כדי לאפשר למשתמשים לגשת לתוצאות הסריקה שפורסמו, אפשר לעיין בקטע הענקת גישה לתוצאות סריקה של איכות הנתונים במסמך הזה.

    9. בקטע סוג אישורי הגישה, אפשר לעיין במאמר הגדרת זהות להרצת תהליכים.

    10. כדי ליצור סריקה של איכות הנתונים באמצעות כללים, בוחרים באפשרות סוג הכלל > יצירה באמצעות כלל מבוסס-רשומה.

    11. בקטע תזמון, בוחרים באחת מהאפשרויות הבאות:

      • חזרה: הפעלת סריקת איכות הנתונים לפי לוח זמנים: שעתי, יומי, שבועי, חודשי או בהתאמה אישית. מציינים את תדירות הסריקה ואת השעה שבה היא תתבצע. אם בוחרים באפשרות 'מותאם אישית', צריך להשתמש בפורמט cron כדי לציין את לוח הזמנים.

      • על פי דרישה: הרצת הסריקה של איכות הנתונים על פי דרישה.

      • הפעלה חד-פעמית: הפעל את סריקת איכות הנתונים פעם אחת עכשיו, והסר את הסריקה אחרי פרק הזמן שמוגדר למחיקה אוטומטית. התכונה הזו נמצאת בגרסת טרום-השקה.

        • הגדרת מחיקה אוטומטית של תוצאות אחרי סריקה: זמן המחיקה האוטומטית הוא פרק הזמן שחולף בין מועד ביצוע הסריקה לבין מועד המחיקה שלה. סריקה של איכות הנתונים ללא ציון זמן למחיקה אוטומטית נמחקת אוטומטית 24 שעות אחרי ההפעלה שלה. פרק הזמן למחיקה אוטומטית יכול להיות בין 0 שניות (מחיקה מיידית) ל-365 ימים.
    12. לוחצים על Continue.

  4. בחלון כללים לאיכות הנתונים, מגדירים את הכללים שרוצים להגדיר לסריקה הזו של איכות הנתונים.

    1. לוחצים על הוספת כללים ובוחרים באחת מהאפשרויות הבאות.

      • המלצות מבוססות פרופיל: יצירת כללים מההמלצות על סמך סריקה קיימת של פרופיל הנתונים.

        1. בחירת עמודות: בוחרים את העמודות שרוצים לקבל עבורן המלצות לכללים.

        2. Choose scan project (בחירת פרויקט לסריקה): אם סריקת פרופיל הנתונים נמצאת בפרויקט אחר מהפרויקט שבו אתם יוצרים את סריקת איכות הנתונים, צריך לבחור את הפרויקט שממנו יתבצעו סריקות הפרופיל.

        3. בחירת תוצאות פרופיל: בוחרים תוצאת פרופיל אחת או יותר ולוחצים על אישור. כך תתקבל רשימה של כללים מוצעים שאפשר להשתמש בהם כנקודת התחלה.

        4. מסמנים את תיבת הסימון של הכללים שרוצים להוסיף ולוחצים על בחירה. אחרי שבוחרים את הכללים, הם מתווספים לרשימת הכללים הנוכחית. לאחר מכן תוכלו לערוך את הכללים.

      • סוגי כללים מובְנים: יצירת כללים מכללים מוגדרים מראש. רשימת הכללים המוגדרים מראש

        1. בחירת עמודות: בוחרים את העמודות שרוצים לבחור עבורן כללים.

        2. בחירת סוגי כללים: בוחרים את סוגי הכללים שרוצים לבחור מתוכם ולוחצים על אישור. סוגי הכללים שיופיעו תלויים בעמודות שבחרתם.

        3. מסמנים את תיבת הסימון של הכללים שרוצים להוסיף ולוחצים על בחירה. אחרי הבחירה, הכללים יתווספו לרשימת הכללים הנוכחית. לאחר מכן תוכלו לערוך את הכללים.

      • כלל לבדיקת שורות ב-SQL: יוצרים כלל SQL בהתאמה אישית להחלה על כל שורה.

        1. בקטע מאפיין, בוחרים מאפיין אחד.

        2. בקטע סף מעבר, בוחרים את אחוז הרשומות שצריכות לעבור את הבדיקה.

        3. בעמודה שם העמודה, בוחרים עמודה.

        4. בשדה Provide a SQL expression (הזנת ביטוי SQL), מזינים ביטוי SQL שהערך המחושב שלו הוא בוליאני true (עבר) או false (נכשל). מידע נוסף זמין במאמר בנושא סוגים נתמכים של כללי SQL בהתאמה אישית ובדוגמאות במאמר הגדרת כללים לאיכות הנתונים.

        5. לוחצים על הוספה.

      • כלל בדיקה של צבירת SQL: יצירת כלל מותאם אישית של תנאי טבלת SQL.

        1. בקטע מאפיין, בוחרים מאפיין אחד.

        2. בעמודה שם העמודה, בוחרים עמודה.

        3. בשדה Provide a SQL expression (הזנת ביטוי SQL), מזינים ביטוי SQL שהערך המחושב שלו הוא בוליאני true (עבר) או false (נכשל). מידע נוסף זמין במאמר בנושא סוגים נתמכים של כללי SQL בהתאמה אישית ובדוגמאות במאמר הגדרת כללים לאיכות הנתונים.

        4. לוחצים על הוספה.

      • כלל הצהרת SQL: יצירת כלל הצהרת SQL מותאם אישית כדי לבדוק אם הנתונים נמצאים במצב לא תקין.

        1. בקטע מאפיין, בוחרים מאפיין אחד.

        2. אופציונלי: בשם העמודה, בוחרים עמודה.

        3. בשדה Provide a SQL statement (הזנת הצהרת SQL), מזינים הצהרת SQL שמחזירה שורות שתואמות למצב לא תקין. אם מוחזרות שורות, הכלל נכשל. משמיטים את הנקודה-פסיק בסוף של הצהרת ה-SQL. מידע נוסף זמין במאמרים בנושא סוגים נתמכים של כללי SQL בהתאמה אישית ובקטע הדוגמאות במאמר הגדרת כללים לאיכות הנתונים.

        4. לוחצים על הוספה.

    2. אופציונלי: לכל כלל למדידת איכות נתונים, אפשר להקצות שם כלל מותאם אישית לשימוש במעקב ובשליחת התראות, ותיאור. כדי לעשות את זה, עורכים כלל ומציינים את הפרטים הבאים:

      • שם הכלל: מזינים שם מותאם אישית לכלל, באורך של עד 63 תווים. שם הכלל יכול לכלול אותיות (a-z, A-Z), ספרות (0-9) ומקפים (-). הוא חייב להתחיל באות ולהסתיים בספרה או באות.
      • תיאור: מזינים תיאור של הכלל באורך של עד 1,024 תווים.
    3. חוזרים על השלבים הקודמים כדי להוסיף עוד כללים לסריקת איכות הנתונים. בסיום, לוחצים על המשך.

  5. אופציונלי: ייצוא תוצאות הסריקה לטבלת BigQuery רגילה. בקטע Export scan results to BigQuery table (ייצוא תוצאות הסריקה לטבלת BigQuery), מבצעים את הפעולות הבאות:

    1. בשדה Select BigQuery dataset (בחירת מערך נתונים ב-BigQuery), לוחצים על Browse (עיון). בוחרים מערך נתונים ב-BigQuery לאחסון התוצאות של סריקת איכות הנתונים.

    2. בשדה BigQuery table (טבלת BigQuery), מציינים את הטבלה שבה יאוחסנו תוצאות הסריקה של איכות הנתונים. אם אתם משתמשים בטבלה קיימת, ודאו שהיא תואמת לסכימת טבלת הייצוא. אם הטבלה שצוינה לא קיימת, Knowledge Catalog יוצר אותה בשבילכם.

  6. אופציונלי: מוסיפים תוויות. תוויות הן צמדי מפתח/ערך שמאפשרים לקשר בין אובייקטים או ביניהם לבין משאבים אחרים של Google Cloud .

  7. אופציונלי: מגדירים דוחות התראות באימייל כדי להודיע לאנשים על הסטטוס והתוצאות של משימת סריקה של איכות הנתונים. בקטע דוח התראות, לוחצים על הוספת מזהה אימייל ומזינים עד חמש כתובות אימייל. לאחר מכן בוחרים את התרחישים שעבורם רוצים לשלוח דוחות:

    • ציון איכות (‎<=‎): המערכת שולחת דוח כשהעבודה מסתיימת בהצלחה עם ציון איכות נתונים נמוך מציון היעד שצוין. מזינים ציון איכות יעד בין 0 ל-100.
    • כשלים במשימות: נשלח דוח כשהמשימה עצמה נכשלת, בלי קשר לתוצאות של איכות הנתונים.
    • השלמת העבודה (הצלחה או כישלון): שליחת דוח כשהעבודה מסתיימת, ללא קשר לתוצאות של איכות הנתונים.
  8. לוחצים על יצירה.

    אחרי שיוצרים סריקה, אפשר להריץ אותה בכל שלב בלחיצה על הפעלה עכשיו.

gcloud

כדי ליצור סריקה של איכות הנתונים, משתמשים בפקודה gcloud dataplex datascans create data-quality.

אם נתוני המקור מאורגנים באגם של Knowledge Catalog, צריך לכלול את הדגל --data-source-entity:

gcloud dataplex datascans create data-quality DATASCAN \
    --location=LOCATION \
    --data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
    --data-source-entity=DATA_SOURCE_ENTITY

אם נתוני המקור לא מאורגנים באגם של Knowledge Catalog, צריך לכלול את הדגל --data-source-resource:

gcloud dataplex datascans create data-quality DATASCAN \
    --location=LOCATION \
    --data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
    --data-source-resource=DATA_SOURCE_RESOURCE

מחליפים את המשתנים הבאים:

  • DATASCAN: השם של הסריקה לאיכות הנתונים.
  • LOCATION: האזור שבו תיצור את סריקת איכות הנתונים. Google Cloud
  • DATA_QUALITY_SPEC_FILE: הנתיב לקובץ ה-JSON או ה-YAML שמכיל את המפרטים של סריקת איכות הנתונים. הקובץ יכול להיות קובץ מקומי או נתיב ב-Cloud Storage עם הקידומת gs://. משתמשים בקובץ הזה כדי לציין את כללי איכות הנתונים לסריקה. אפשר גם לציין פרטים נוספים בקובץ הזה, כמו פילטרים, אחוז הדגימה ופעולות אחרי הסריקה כמו ייצוא ל-BigQuery או שליחת דוחות של התראות באימייל. ראו תיעוד של ייצוג JSON ודוגמה לייצוג YAML.
  • DATA_SOURCE_ENTITY: הישות ב-Knowledge Catalog שמכילה את הנתונים לסריקת איכות הנתונים. לדוגמה, projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity.
  • DATA_SOURCE_RESOURCE: השם של המשאב שמכיל את הנתונים לסריקת איכות הנתונים. לדוגמה, //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table.

C#‎

C#

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי C#ההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dataplex.V1;
using Google.LongRunning;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for CreateDataScan</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CreateDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        CreateDataScanRequest request = new CreateDataScanRequest
        {
            ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
            DataScan = new DataScan(),
            DataScanId = "",
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataScan, OperationMetadata> response = dataScanServiceClient.CreateDataScan(request);

        // Poll until the returned long-running operation is complete
        Operation<DataScan, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataScan result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<DataScan, OperationMetadata> retrievedResponse = dataScanServiceClient.PollOnceCreateDataScan(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataScan retrievedResult = retrievedResponse.Result;
        }
    }
}

המשך

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.CreateDataScanRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#CreateDataScanRequest.
	}
	op, err := c.CreateDataScan(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import com.google.cloud.dataplex.v1.CreateDataScanRequest;
import com.google.cloud.dataplex.v1.DataScan;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.LocationName;

public class SyncCreateDataScan {

  public static void main(String[] args) throws Exception {
    syncCreateDataScan();
  }

  public static void syncCreateDataScan() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataScanServiceClient dataScanServiceClient = DataScanServiceClient.create()) {
      CreateDataScanRequest request =
          CreateDataScanRequest.newBuilder()
              .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
              .setDataScan(DataScan.newBuilder().build())
              .setDataScanId("dataScanId1260787906")
              .setValidateOnly(true)
              .build();
      DataScan response = dataScanServiceClient.createDataScanAsync(request).get();
    }
  }
}

Node.js

Node.js

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Node.js API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// ** This file is automatically generated by gapic-generator-typescript. **
// ** https://github.com/googleapis/gapic-generator-typescript **
// ** All changes to this file may be overwritten. **



'use strict';

function main(parent, dataScan) {
  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The resource name of the parent location:
   *  `projects/{project}/locations/{location_id}`
   *  where `project` refers to a *project_id* or *project_number* and
   *  `location_id` refers to a Google Cloud region.
   */
  // const parent = 'abc123'
  /**
   *  Required. DataScan resource.
   */
  // const dataScan = {}
  /**
   *  Optional. DataScan identifier. If not provided, a unique ID will be
   *  generated with the prefix "data-scan-".
   *  * Must contain only lowercase letters, numbers and hyphens.
   *  * Must start with a letter.
   *  * Must end with a number or a letter.
   *  * Must be between 1-63 characters.
   *  * Must be unique within the customer project / location.
   */
  // const dataScanId = 'abc123'
  /**
   *  Optional. Only validate the request, but do not perform mutations.
   *  The default is `false`.
   */
  // const validateOnly = true

  // Imports the Dataplex library
  const {DataScanServiceClient} = require('@google-cloud/dataplex').v1;

  // Instantiates a client
  const dataplexClient = new DataScanServiceClient();

  async function callCreateDataScan() {
    // Construct request
    const request = {
      parent,
      dataScan,
    };

    // Run request
    const [operation] = await dataplexClient.createDataScan(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callCreateDataScan();
}

process.on('unhandledRejection', err => {
  console.error(err.message);
  process.exitCode = 1;
});
main(...process.argv.slice(2));

Python

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import google.api_core.exceptions
from google.cloud import dataplex_v1


def create_data_quality_scan_global(
    project_id: str,
    dataset_id: str,
    table_id: str,
    location: str,
    column_id_1: str,
    column_id_2: str,
) -> None:
    """Creates a Dataplex Data Quality Scan using global API endpoint routing.

    Args:
        project_id (str): Google Cloud project ID where the scan is created.
        dataset_id (str): Target BigQuery dataset ID.
        table_id (str): Target BigQuery table ID to scan.
        location (str): Google Cloud region where serverless compute runs.
        column_id_1 (str): Name of the first column to evaluate.
        column_id_2 (str): Name of the second column to evaluate.
    """
    client = dataplex_v1.DataScanServiceClient()

    parent = client.common_location_path(project=project_id, location=location)

    # A bigquery table with at least 2 columns is assumed.
    bigquery_table = (
        f"//bigquery.googleapis.com/projects/{project_id}"
        f"/datasets/{dataset_id}/tables/{table_id}"
    )

    data_quality_spec = dataplex_v1.DataQualitySpec(
        rules=[
            dataplex_v1.DataQualityRule(
                name="global-null-assertion",
                dimension="COMPLETENESS",
                description="Fails if any row contains a null value",
                sql_assertion=dataplex_v1.DataQualityRule.SqlAssertion(
                    # Use ${data()} as the placeholder for the table Dataplex is scanning
                    sql_statement=(
                        "SELECT * FROM ${data()} "
                        f"WHERE {column_id_1} IS NULL OR {column_id_2} IS NULL"
                    )
                ),
            )
        ]
    )

    data_scan = dataplex_v1.DataScan(
        display_name="Global Data Quality Scan",
        data=dataplex_v1.DataSource(resource=bigquery_table),
        data_quality_spec=data_quality_spec,
    )

    request = dataplex_v1.CreateDataScanRequest(parent=parent, data_scan=data_scan)

    try:
        operation = client.create_data_scan(request=request)
        print(operation.result())
    except google.api_core.exceptions.AlreadyExists:
        print("A scan with this ID already exists.")
    except google.api_core.exceptions.InvalidArgument as e:
        print(f"Your scan configuration is invalid: {e}")
    except google.api_core.exceptions.GoogleAPIError as e:
        print(f"Unexpected exception: {e}")

Ruby

Ruby

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Rubyההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

require "google/cloud/dataplex/v1"

##
# Snippet for the create_data_scan call in the DataScanService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::DataScanService::Client#create_data_scan.
#
def create_data_scan
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::DataScanService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::CreateDataScanRequest.new

  # Call the create_data_scan method.
  result = client.create_data_scan request

  # The returned object is of type Gapic::Operation. You can use it to
  # check the status of an operation, cancel it, or wait for results.
  # Here is how to wait for a response.
  result.wait_until_done! timeout: 60
  if result.response?
    p result.response
  else
    puts "No response received."
  end
end

REST

כדי ליצור סריקה של איכות הנתונים, משתמשים ב-method‏ dataScans.create.

הבקשה הבאה יוצרת סריקה חד-פעמית של איכות הנתונים:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans?data_scan_id=DATASCAN_ID

{
"data": {
  "resource": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID"
},
"type": "DATA_QUALITY",
"executionSpec": {
  "trigger": {
    "oneTime": {
      "ttl_after_scan_completion": "120s"
    }
  }
},
"dataQualitySpec": {
  "rules": [
    {
      "nonNullExpectation": {},
      "column": "COLUMN_NAME",
      "dimension": "DIMENSION",
      "threshold": 1
    }
  ],
  "filter": "FILTER_CONDITION"
}
}

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט.
  • LOCATION: האזור שבו ייסרק הנתונים כדי לבדוק את איכות הנתונים.
  • DATASCAN_ID: המזהה של סריקת איכות הנתונים.
  • DATASET_ID: המזהה של מערך הנתונים ב-BigQuery.
  • TABLE_ID: המזהה של הטבלה ב-BigQuery.
  • COLUMN_NAME: שם העמודה של הכלל.
  • DIMENSION: המאפיין של הכלל, למשל VALIDITY.
  • FILTER_CONDITION: מחרוזת סינון AIP-160 אופציונלית להרצת כללים באופן סלקטיבי (לדוגמה, name = \"RULE_NAME\").

אם רוצים ליצור כללים לסריקת איכות הנתונים באמצעות המלצות לכללים שמבוססות על התוצאות של סריקת פרופיל הנתונים, צריך לקבל את ההמלצות באמצעות קריאה לשיטה dataScans.jobs.generateDataQualityRules בסריקת פרופיל הנתונים.

ייצוא סכמת הטבלה

כדי לייצא את תוצאות הסריקה של איכות הנתונים לטבלת BigQuery קיימת, צריך לוודא שהיא תואמת לסכימת הטבלה הבאה:

שם עמודה סוג הנתונים בעמודה שם שדה משנה
(אם רלוונטי)
סוג הנתונים של שדה משנה מצב דוגמה
data_quality_scan struct/record resource_name string יכול להיות ריק //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan
project_id string יכול להיות ריק dataplex-back-end-dev-project
location string יכול להיות ריק us-central1
data_scan_id string יכול להיות ריק test-datascan
display_name string יכול להיות ריק datascan-display-name
data_source struct/record resource_name string יכול להיות ריק מספר הפנייה של הישות:
//dataplex.googleapis.com/projects/dataplex-back-end-dev-project/locations/europe-west2/lakes/a0-datascan-test-lake/zones/a0-datascan-test-zone/entities/table1

מספר הפנייה של הטבלה: //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
dataplex_entity_project_id string יכול להיות ריק dataplex-back-end-dev-project
dataplex_entity_project_number integer יכול להיות ריק 123456789
dataplex_lake_id string יכול להיות ריק (תקף רק אם המקור הוא ישות)
test-lake
dataplex_zone_id string יכול להיות ריק (תקף רק אם המקור הוא ישות)
test-zone
dataplex_entity_id string יכול להיות ריק (תקף רק אם המקור הוא ישות)
test-entity
table_project_id string יכול להיות ריק test-project
table_project_number integer יכול להיות ריק 987654321
dataset_id string יכול להיות ריק (תקף רק אם המקור הוא טבלה)
test-dataset
table_id string יכול להיות ריק (תקף רק אם המקור הוא טבלה)
test-table
data_quality_job_id string יכול להיות ריק caeba234-cfde-4fca-9e5b-fe02a9812e38
data_quality_job_configuration json trigger string יכול להיות ריק schedule/ondemand
incremental boolean יכול להיות ריק false/true
sampling_percent float יכול להיות ריק ‫(0-100)
20.0 (מציין 20%)
row_filter string יכול להיות ריק col1 >= 0 AND col2 < 10
incremental_column string יכול להיות ריק column_name
job_labels json יכול להיות ריק {"key1":value1}
job_start_time timestamp יכול להיות ריק 2023-01-01 00:00:00 UTC
job_end_time timestamp יכול להיות ריק 2023-01-01 00:00:00 UTC
job_quality_result struct/record passed boolean יכול להיות ריק false/true
score float יכול להיות ריק 90.8
incremental_start string יכול להיות ריק 2023-01-01T00:00:00
incremental_end string יכול להיות ריק 2024-01-01T00:00:00
job_dimension_result json יכול להיות ריק {"ACCURACY":{"passed":true,"score":100},"CONSISTENCY":{"passed":false,"score":60}}
job_rows_scanned integer יכול להיות ריק 7500
rule_name string יכול להיות ריק test-rule
rule_description string יכול להיות ריק Test rule description
rule_type string יכול להיות ריק Range Check
rule_evaluation_type string יכול להיות ריק Per row
rule_column string יכול להיות ריק Rule only attached to a certain column
rule_dimension string יכול להיות ריק UNIQUENESS
rule_threshold_percent float יכול להיות ריק (0.0-100.0)
Rule-threshold-pct in API * 100
rule_parameters json יכול להיות ריק {min: 24, max:5345}
rule_passed boolean יכול להיות ריק true
rule_rows_evaluated integer יכול להיות ריק 7400
rule_rows_passed integer יכול להיות ריק 3
rule_rows_null integer יכול להיות ריק 4
rule_failed_records_query string יכול להיות ריק "SELECT * FROM `test-project.test-dataset.test-table` WHERE (NOT((`cTime` >= '15:31:38.776361' and `cTime` <= '19:23:53.754823') IS TRUE));"
created_on timestamp יכול להיות ריק 2023-01-01 00:00:00 UTC
last_updated timestamp יכול להיות ריק 2023-01-01 00:00:00 UTC
rule_assertion_row_count integer יכול להיות ריק 10
debug_queries struct/record description string יכול להיות ריק Test debug query description
sql_statement string יכול להיות ריק SELECT MIN(col1) AS min_col1, AVG(col1) FROM ${data()}
debug_query_results struct/record חוזר [{"name": "min_col1", "type": "INTEGER", "value": "5"}, {"type": "FLOAT", "value": "7"}]
‫↳ name string יכול להיות ריק השם של עמודת תוצאות השאילתה, כמו min_col1
‫↳ type string יכול להיות ריק סוג העמודה בתוצאות השאילתה, למשל INTEGER
‫↳ value string יכול להיות ריק הערך של עמודת תוצאות השאילתה, כמו 5

כשמגדירים את BigQueryExport למשימת סריקה של איכות הנתונים, צריך לפעול לפי ההנחיות הבאות:

  • בשדה resultsTable, משתמשים בפורמט: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}.
  • משתמשים בטבלה רגילה ב-BigQuery.
  • אם הטבלה לא קיימת כשיוצרים או מעדכנים את הסריקה, Knowledge Catalog יוצר את הטבלה בשבילכם.
  • כברירת מחדל, הטבלה מחולקת למחיצות בעמודה job_start_time מדי יום.
  • אם רוצים לחלק את הטבלה למחיצות בהגדרות אחרות או אם לא רוצים לחלק אותה למחיצות, צריך ליצור מחדש את הטבלה עם הסכימה וההגדרות הנדרשות, ואז לספק את הטבלה שנוצרה מראש כטבלת התוצאות.
  • מוודאים שטבלת התוצאות נמצאת באותו מיקום כמו טבלת המקור.
  • אם VPC-SC מוגדר בפרויקט, טבלת התוצאות צריכה להיות באותו היקף של VPC-SC כמו טבלת המקור.
  • אם הטבלה משתנה במהלך שלב ההפעלה של הסריקה, המשימה הנוכחית מייצאת לטבלת התוצאות הקודמת, והשינוי בטבלה נכנס לתוקף החל ממשימת הסריקה הבאה.
  • לא לשנות את סכימת הטבלה. אם אתם צריכים עמודות בהתאמה אישית, אתם יכולים ליצור תצוגה בטבלה.
  • כדי להפחית את העלויות, מגדירים תפוגה למחיצה בהתאם לתרחיש השימוש. מידע נוסף זמין במאמר בנושא הגדרת תאריך התפוגה של המחיצה.

הפעלת סריקה של איכות הנתונים

המסוף

  1. במסוף Google Cloud , עוברים לדף Knowledge Catalog (קטלוג הידע) Data profiling & quality (פרופיל ואיכות נתונים).

    מעבר לפרופיל נתונים ולאיכות נתונים

  2. לוחצים על סריקת איכות הנתונים כדי להריץ אותה.

  3. לוחצים על הפעלה מיידית.

gcloud

כדי להריץ סריקה של איכות הנתונים, משתמשים בפקודה gcloud dataplex datascans run:

gcloud dataplex datascans run DATASCAN \
--location=LOCATION \

מחליפים את המשתנים הבאים:

  • LOCATION: האזור Google Cloud שבו נוצר הסריקה של איכות הנתונים.
  • DATASCAN: השם של הסריקה לאיכות הנתונים.

C#‎

C#

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי C#ההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

using Google.Cloud.Dataplex.V1;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for RunDataScan</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void RunDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        RunDataScanRequest request = new RunDataScanRequest
        {
            DataScanName = DataScanName.FromProjectLocationDataScan("[PROJECT]", "[LOCATION]", "[DATASCAN]"),
        };
        // Make the request
        RunDataScanResponse response = dataScanServiceClient.RunDataScan(request);
    }
}

המשך

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.RunDataScanRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#RunDataScanRequest.
	}
	resp, err := c.RunDataScan(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import com.google.cloud.dataplex.v1.DataScanName;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.RunDataScanRequest;
import com.google.cloud.dataplex.v1.RunDataScanResponse;

public class SyncRunDataScan {

  public static void main(String[] args) throws Exception {
    syncRunDataScan();
  }

  public static void syncRunDataScan() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataScanServiceClient dataScanServiceClient = DataScanServiceClient.create()) {
      RunDataScanRequest request =
          RunDataScanRequest.newBuilder()
              .setName(DataScanName.of("[PROJECT]", "[LOCATION]", "[DATASCAN]").toString())
              .build();
      RunDataScanResponse response = dataScanServiceClient.runDataScan(request);
    }
  }
}

Python

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_run_data_scan():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.RunDataScanRequest(
        name="name_value",
    )

    # Make the request
    response = client.run_data_scan(request=request)

    # Handle the response
    print(response)

Ruby

Ruby

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Rubyההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

require "google/cloud/dataplex/v1"

##
# Snippet for the run_data_scan call in the DataScanService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::DataScanService::Client#run_data_scan.
#
def run_data_scan
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::DataScanService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::RunDataScanRequest.new

  # Call the run_data_scan method.
  result = client.run_data_scan request

  # The returned object is of type Google::Cloud::Dataplex::V1::RunDataScanResponse.
  p result
end

REST

כדי להריץ סריקה של איכות הנתונים, משתמשים ב-method‏ dataScans.run.

ביטול של משימת סריקה של איכות הנתונים

אם משימת סריקה של איכות נתונים פועלת יותר זמן מהצפוי או שהיא הופעלה עם הגדרה שגויה, אפשר לבטל אותה. הפעולה הזו מתבצעת על בסיס הכי טוב שאפשר. אם העבודה כבר נמצאת במצב סופי (למשל SUCCEEDED או FAILED), בקשת הביטול מתעלמת.

תפקידים והרשאות נדרשים

כדי לקבל את ההרשאות שנדרשות לביטול של עבודת סריקה של איכות הנתונים, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Dataplex Editor (roles/dataplex.editor) או Dataplex DataScan Administrator (roles/dataplex.dataScanAdmin) בפרויקט.

ביטול משימה

אפשר לבטל עבודת סריקה של איכות הנתונים שנמצאת בתהליך או בהמתנה באמצעות API בארכיטקטורת REST.

המסוף

  1. במסוף Google Cloud , עוברים לדף Data profiling & quality.

    מעבר לפרופיל נתונים ולאיכות נתונים

  2. לוחצים על השם של הסריקה של איכות הנתונים שמכילה את העבודה שרוצים לבטל.

  3. בכרטיסייה היסטוריית משימות, מאתרים את המשימה עם הסטטוס פועל או בהמתנה.

  4. לוחצים על הלחצן Cancel (ביטול) שמשויך לעבודה.

REST

משתמשים בשיטה projects.locations.dataScans.jobs.cancel.

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN_ID/jobs/JOB_ID:cancel

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט.
  • LOCATION: האזור שבו נמצאת סריקת הנתונים.
  • DATASCAN_ID: המזהה של סריקת הנתונים.
  • JOB_ID: המזהה של העבודה שרוצים לבטל.

הצגת תוצאות הסריקה של איכות הנתונים

המסוף

  1. במסוף Google Cloud , עוברים לדף Knowledge Catalog (קטלוג הידע) Data profiling & quality (פרופיל ואיכות נתונים).

    מעבר לפרופיל נתונים ולאיכות נתונים

  2. לוחצים על השם של סריקת איכות הנתונים.

    • בקטע סקירה כללית מוצג מידע על המשימות האחרונות, כולל מתי הסריקה בוצעה, מספר הרשומות שנסרקו בכל משימה, אם כל הבדיקות של איכות הנתונים עברו, ואם היו כשלים, מספר הבדיקות של איכות הנתונים שנכשלו.

    • בקטע הגדרות סריקת איכות הנתונים מוצגים פרטים על הסריקה.

  3. כדי לראות מידע מפורט על עבודה, כמו ציוני איכות נתונים שמציינים את אחוז הכללים שעברו, אילו כללים נכשלו ויומני העבודה, לוחצים על הכרטיסייה היסטוריית העבודות. לאחר מכן לוחצים על מזהה משרה.

gcloud

כדי לראות את התוצאות של משימת סריקה של איכות הנתונים, משתמשים בפקודה gcloud dataplex datascans jobs describe:

gcloud dataplex datascans jobs describe JOB \
--location=LOCATION \
--datascan=DATASCAN \
--view=FULL

מחליפים את המשתנים הבאים:

  • JOB: מזהה המשימה של סריקת איכות הנתונים.
  • LOCATION: האזור שבו נוצרה סריקת איכות הנתונים. Google Cloud
  • DATASCAN: השם של הסריקה של איכות הנתונים שהעבודה שייכת לה.
  • --view=FULL: כדי לראות את תוצאת עבודת הסריקה, מציינים FULL.

C#‎

C#

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי C#ההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

using Google.Cloud.Dataplex.V1;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for GetDataScan</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void GetDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        GetDataScanRequest request = new GetDataScanRequest
        {
            DataScanName = DataScanName.FromProjectLocationDataScan("[PROJECT]", "[LOCATION]", "[DATASCAN]"),
            View = GetDataScanRequest.Types.DataScanView.Unspecified,
        };
        // Make the request
        DataScan response = dataScanServiceClient.GetDataScan(request);
    }
}

המשך

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.GetDataScanRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#GetDataScanRequest.
	}
	resp, err := c.GetDataScan(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import com.google.cloud.dataplex.v1.DataScan;
import com.google.cloud.dataplex.v1.DataScanName;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.GetDataScanRequest;

public class SyncGetDataScan {

  public static void main(String[] args) throws Exception {
    syncGetDataScan();
  }

  public static void syncGetDataScan() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataScanServiceClient dataScanServiceClient = DataScanServiceClient.create()) {
      GetDataScanRequest request =
          GetDataScanRequest.newBuilder()
              .setName(DataScanName.of("[PROJECT]", "[LOCATION]", "[DATASCAN]").toString())
              .build();
      DataScan response = dataScanServiceClient.getDataScan(request);
    }
  }
}

Python

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_get_data_scan():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.GetDataScanRequest(
        name="name_value",
    )

    # Make the request
    response = client.get_data_scan(request=request)

    # Handle the response
    print(response)

Ruby

Ruby

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Rubyההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

require "google/cloud/dataplex/v1"

##
# Snippet for the get_data_scan call in the DataScanService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::DataScanService::Client#get_data_scan.
#
def get_data_scan
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::DataScanService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::GetDataScanRequest.new

  # Call the get_data_scan method.
  result = client.get_data_scan request

  # The returned object is of type Google::Cloud::Dataplex::V1::DataScan.
  p result
end

REST

כדי לראות את התוצאות של סריקת איכות הנתונים, משתמשים בשיטה dataScans.get.

הצגת התוצאות שפורסמו

אם התוצאות של סריקת איכות הנתונים מתפרסמות כמטא-נתונים ב-Knowledge Catalog, אפשר לראות את התוצאות האחרונות של הסריקה בדפים של BigQuery ו-Knowledge Catalog במסוףGoogle Cloud , בכרטיסייה Data quality של טבלת המקור.

  1. נכנסים לדף Search בקטלוג הידע במסוף Google Cloud .

    מעבר אל חיפוש

  2. מחפשים את הטבלה ובוחרים אותה.

  3. לוחצים על הכרטיסייה איכות הנתונים.

    מוצגות התוצאות האחרונות שפורסמו.

צפייה בתוצאות סריקה היסטוריות

ב-Knowledge Catalog נשמרת היסטוריית הסריקות של איכות הנתונים מ-300 המשימות האחרונות או מהשנה האחרונה, לפי המוקדם מביניהם.

המסוף

  1. במסוף Google Cloud , עוברים לדף Knowledge Catalog (קטלוג הידע) Data profiling & quality (פרופיל ואיכות נתונים).

    מעבר לפרופיל נתונים ולאיכות נתונים

  2. לוחצים על השם של סריקת איכות הנתונים.

  3. לוחצים על הכרטיסייה היסטוריית המשרות.

    בכרטיסייה היסטוריית העבודות מופיע מידע על עבודות קודמות, כמו מספר הרשומות שנסרקו בכל עבודה, סטטוס העבודה, השעה שבה העבודה בוצעה והאם כל כלל עבר או נכשל.

  4. כדי לראות מידע מפורט על משימה, לוחצים על אחת מהמשימות בעמודה מזהה משימה.

gcloud

כדי להציג את המשימות ההיסטוריות של סריקת איכות הנתונים, משתמשים בפקודה gcloud dataplex datascans jobs list:

gcloud dataplex datascans jobs list \
--location=LOCATION \
--datascan=DATASCAN \

מחליפים את המשתנים הבאים:

  • LOCATION: האזור שבו נוצרה סריקת איכות הנתונים. Google Cloud
  • DATASCAN: השם של הסריקה של איכות הנתונים שרוצים לראות את היסטוריית העבודות שלה.

C#‎

C#

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי C#ההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

using Google.Api.Gax;
using Google.Cloud.Dataplex.V1;
using System;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for ListDataScanJobs</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void ListDataScanJobsRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        ListDataScanJobsRequest request = new ListDataScanJobsRequest
        {
            ParentAsDataScanName = DataScanName.FromProjectLocationDataScan("[PROJECT]", "[LOCATION]", "[DATASCAN]"),
            Filter = "",
        };
        // Make the request
        PagedEnumerable<ListDataScanJobsResponse, DataScanJob> response = dataScanServiceClient.ListDataScanJobs(request);

        // Iterate over all response items, lazily performing RPCs as required
        foreach (DataScanJob item in response)
        {
            // Do something with each item
            Console.WriteLine(item);
        }

        // Or iterate over pages (of server-defined size), performing one RPC per page
        foreach (ListDataScanJobsResponse page in response.AsRawResponses())
        {
            // Do something with each page of items
            Console.WriteLine("A page of results:");
            foreach (DataScanJob item in page)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
        }

        // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
        int pageSize = 10;
        Page<DataScanJob> singlePage = response.ReadPage(pageSize);
        // Do something with the page of items
        Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
        foreach (DataScanJob item in singlePage)
        {
            // Do something with each item
            Console.WriteLine(item);
        }
        // Store the pageToken, for when the next page is required.
        string nextPageToken = singlePage.NextPageToken;
    }
}

המשך

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.ListDataScanJobsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#ListDataScanJobsRequest.
	}
	it := c.ListDataScanJobs(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*dataplexpb.ListDataScanJobsResponse)
	}
}

Java

Java

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import com.google.cloud.dataplex.v1.DataScanJob;
import com.google.cloud.dataplex.v1.DataScanName;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.ListDataScanJobsRequest;

public class SyncListDataScanJobs {

  public static void main(String[] args) throws Exception {
    syncListDataScanJobs();
  }

  public static void syncListDataScanJobs() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataScanServiceClient dataScanServiceClient = DataScanServiceClient.create()) {
      ListDataScanJobsRequest request =
          ListDataScanJobsRequest.newBuilder()
              .setParent(DataScanName.of("[PROJECT]", "[LOCATION]", "[DATASCAN]").toString())
              .setPageSize(883849137)
              .setPageToken("pageToken873572522")
              .setFilter("filter-1274492040")
              .build();
      for (DataScanJob element : dataScanServiceClient.listDataScanJobs(request).iterateAll()) {
        // doThingsWith(element);
      }
    }
  }
}

Python

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_list_data_scan_jobs():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.ListDataScanJobsRequest(
        parent="parent_value",
    )

    # Make the request
    page_result = client.list_data_scan_jobs(request=request)

    # Handle the response
    for response in page_result:
        print(response)

Ruby

Ruby

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Rubyההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

require "google/cloud/dataplex/v1"

##
# Snippet for the list_data_scan_jobs call in the DataScanService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::DataScanService::Client#list_data_scan_jobs.
#
def list_data_scan_jobs
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::DataScanService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::ListDataScanJobsRequest.new

  # Call the list_data_scan_jobs method.
  result = client.list_data_scan_jobs request

  # The returned object is of type Gapic::PagedEnumerable. You can iterate
  # over elements, and API calls will be issued to fetch pages as needed.
  result.each do |item|
    # Each element is of type ::Google::Cloud::Dataplex::V1::DataScanJob.
    p item
  end
end

REST

כדי לראות את המשימות ההיסטוריות של סריקת איכות הנתונים, משתמשים בשיטת dataScans.jobs.list.

הענקת גישה לתוצאות של סריקת איכות הנתונים

כדי לאפשר למשתמשים בארגון לראות את תוצאות הסריקה:

  1. במסוף Google Cloud , עוברים לדף Knowledge Catalog (קטלוג הידע) Data profiling & quality (פרופיל ואיכות נתונים).

    מעבר לפרופיל נתונים ולאיכות נתונים

  2. לוחצים על הסריקה של איכות הנתונים שרוצים לשתף את התוצאות שלה.

  3. לוחצים על הכרטיסייה Permissions.

  4. צריך לבצע את הפעולות הבאות:

    • כדי להעניק גישה ל-Principal, לוחצים על Grant access. מקצים את התפקיד Dataplex DataScan DataViewer לחשבון המשתמש המשויך.
    • כדי להסיר גישה מחשבון משתמש, בוחרים את החשבון שרוצים להסיר ממנו את התפקיד Dataplex DataScan DataViewer. לוחצים על הסרת הגישה ומאשרים כשמוצגת בקשה.

הגדרת התראות ב-Cloud Logging

כדי להגדיר התראות על כשלים באיכות הנתונים באמצעות היומנים ב-Cloud Logging:

המסוף

  1. במסוף Google Cloud , נכנסים אל Cloud Logging Logs Explorer.

    כניסה לדף Logs Explorer

  2. בחלון Query, מזינים את השאילתה. שאילתות לדוגמה

  3. לוחצים על Run Query (הפעלת שאילתה).

  4. לוחצים על יצירת התראה. תיפתח חלונית צדדית.

  5. מזינים את השם של מדיניות ההתראות ולוחצים על הבא.

  6. בודקים את השאילתה.

    1. כדי לבדוק את השאילתה, לוחצים על הלחצן Preview Logs (תצוגה מקדימה של היומנים). הפעולה הזו תציג יומנים עם תנאים תואמים.

    2. לוחצים על הבא.

  7. מגדירים את הזמן בין ההתראות ולוחצים על הבא.

  8. מגדירים למי תישלח ההתראה ולוחצים על שמירה כדי ליצור את מדיניות ההתראות.

לחלופין, אפשר להגדיר ולערוך את ההתראות דרך Monitoring > Alerting במסוףGoogle Cloud .

gcloud

לא נתמך.

REST

איך מגדירים התראות ב-Cloud Logging

דוגמאות לשאילתות להגדרת התראות ברמת המשימה או ברמת המאפיין

  • שאילתה לדוגמה להגדרת התראות על כשלים באיכות הנתונים הכוללת בסריקה של איכות הנתונים:

    resource.type="dataplex.googleapis.com/DataScan"
    AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED"
    AND resource.labels.resource_container="projects/112233445566"
    AND resource.labels.datascan_id="a0-test-dec6-dq-3"
    AND NOT jsonPayload.dataQuality.passed=true
    
  • דוגמה לשאילתה להגדרת התראות על כשלים באיכות הנתונים של מאפיין (למשל, ייחודיות) בסריקה נתונה של איכות הנתונים:

    resource.type="dataplex.googleapis.com/DataScan"
    AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED"
    AND resource.labels.resource_container="projects/112233445566"
    AND resource.labels.datascan_id="a0-test-dec6-dq-3"
    AND jsonPayload.dataQuality.dimensionPassed.UNIQUENESS=false
    
  • שאילתה לדוגמה להגדרת התראות על כשלים באיכות הנתונים בטבלה.

    • הגדרת התראות על כשלים באיכות הנתונים בטבלה ב-BigQuery שלא מאורגנת באגם של Knowledge Catalog:

      resource.type="dataplex.googleapis.com/DataScan"
      AND jsonPayload.dataSource="//bigquery.googleapis.com/projects/test-project/datasets/testdataset/table/chicago_taxi_trips"
      AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED"
      AND resource.labels.resource_container="projects/112233445566"
      AND NOT jsonPayload.dataQuality.passed=true
      
    • הגדרת התראות על כשלים באיכות הנתונים בטבלה ב-BigQuery שמאורגנת באגם של Knowledge Catalog:

      resource.type="dataplex.googleapis.com/DataScan"
      AND jsonPayload.dataSource="projects/test-project/datasets/testdataset/table/chicago_taxi_trips"
      AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED"
      AND resource.labels.resource_container="projects/112233445566"
      AND NOT jsonPayload.dataQuality.passed=true
      

שאילתות לדוגמה להגדרת התראות לכל כלל

  • שאילתה לדוגמה להגדרת התראות על כל הכללים של איכות הנתונים שנכשלו, עם שם הכלל המותאם אישית שצוין לסריקת איכות הנתונים:

    resource.type="dataplex.googleapis.com/DataScan"
    AND jsonPayload.ruleName="custom-name"
    AND jsonPayload.result="FAILED"
    
  • שאילתה לדוגמה להגדרת התראות על כל כללי איכות הנתונים שנכשלים בסריקה של איכות הנתונים עבור סוג הערכה ספציפי:

    resource.type="dataplex.googleapis.com/DataScan"
    AND jsonPayload.evalutionType="PER_ROW"
    AND jsonPayload.result="FAILED"
    
  • שאילתה לדוגמה להגדרת התראות על כל הכללים לאיכות הנתונים שלא עומדים בדרישות בעמודה בטבלה שמשמשת לסריקה של איכות הנתונים:

    resource.type="dataplex.googleapis.com/DataScan"
    AND jsonPayload.column="CInteger"
    AND jsonPayload.result="FAILED"
    

פתרון בעיות שקשורות לאיכות הנתונים

לכל עבודה עם כללים ברמת השורה שנכשלה, Knowledge Catalog מספק שאילתה לקבלת הרשומות שנכשלו. מריצים את השאילתה הזו כדי לראות את הרשומות שלא תאמו לכלל.

המסוף

  1. במסוף Google Cloud , עוברים לדף Knowledge Catalog (קטלוג הידע) Data profiling & quality (פרופיל ואיכות נתונים).

    מעבר לפרופיל נתונים ולאיכות נתונים

  2. לוחצים על השם של סריקת איכות הנתונים שרוצים לפתור בעיות ברשומות שלה.

  3. לוחצים על הכרטיסייה היסטוריית המשרות.

  4. לוחצים על מזהה המשימה של המשימה שבה זוהו כשלים באיכות הנתונים.

  5. בחלון התוצאות של העבודה שנפתח, בקטע כללים, מוצאים את העמודה שאילתה לאחזור רשומות שנכשלו. לוחצים על העתקת השאילתה ללוח בשורה של הכלל שנכשל.

  6. מריצים את השאילתה ב-BigQuery כדי לראות את הרשומות שגרמו לכשל במשימה.

gcloud

לא נתמך.

REST

  1. כדי לקבל את המשימה שבה זוהו הכשלים באיכות הנתונים, משתמשים ב-method‏ dataScans.get.

    בשדה failingRowsQuery של אובייקט התשובה מוצגת השאילתה.

  2. מריצים את השאילתה ב-BigQuery כדי לראות את הרשומות שגרמו לכשל במשימה.

Knowledge Catalog מריץ גם את שאילתת ניפוי הבאגים, בתנאי שהיא נכללה במהלך יצירת הכלל. תוצאות שאילתת ניפוי הבאגים נכללות בפלט של כל כלל. התכונה הזו נמצאת בגרסת טרום-השקה.

המסוף

לא נתמך.

gcloud

לא נתמך.

REST

כדי לקבל את המשימה שבה זוהו הכשלים באיכות הנתונים, משתמשים ב-method‏ dataScans.get. באובייקט התגובה, השדה debugQueriesResultSets מציג את התוצאות של שאילתות הניפוי באגים.

ניהול סריקות של איכות הנתונים בטבלה ספציפית

השלבים במאמר הזה מראים איך לנהל סריקות של פרופילי נתונים בכל הפרויקט באמצעות הדף Data profiling & quality (פרופילים ואיכות של נתונים) ב-Knowledge Catalog (קטלוג הידע) במסוף Google Cloud .

אתם יכולים גם ליצור ולנהל סריקות של פרופיל נתונים כשאתם עובדים עם טבלה ספציפית. במסוף Google Cloud , בדף Knowledge Catalog של הטבלה, משתמשים בכרטיסייה איכות הנתונים. צריך לבצע את הפעולות הבאות:

  1. נכנסים לדף Search של Knowledge Catalog במסוף Google Cloud .

    מעבר אל חיפוש

    מחפשים את הטבלה ובוחרים אותה.

  2. לוחצים על הכרטיסייה איכות הנתונים.

  3. בהתאם לשאלה אם הטבלה כוללת סריקה של איכות הנתונים שהתוצאות שלה פורסמו כמטא-נתונים ב-Knowledge Catalog, אפשר לעבוד עם הסריקות של איכות הנתונים בטבלה בדרכים הבאות:

    • תוצאות הסריקה של איכות הנתונים מתפרסמות: התוצאות האחרונות של הסריקה מוצגות בדף.

      כדי לנהל את הסריקות של איכות הנתונים בטבלה הזו, לוחצים על סריקה של איכות הנתונים ובוחרים אחת מהאפשרויות הבאות:

      • יצירת סריקה חדשה: יצירת סריקה חדשה של איכות הנתונים. מידע נוסף זמין בקטע יצירת סריקה של איכות הנתונים במסמך הזה. כשיוצרים סריקה מדף הפרטים של טבלה, הטבלה נבחרת מראש.

      • הפעלה מיידית: הפעלת הסריקה.

      • עריכת הגדרות הסריקה: עריכת ההגדרות, כולל השם המוצג, המסננים והתזמון.

        כדי לערוך את הכללים של איכות הנתונים, בכרטיסייה איכות הנתונים לוחצים על הכרטיסייה כללים. לוחצים על שינוי כללים. מעדכנים את הכללים ולוחצים על שמירה.

      • ניהול הרשאות הסריקה: קובעים למי תהיה גישה לתוצאות הסריקה. מידע נוסף זמין בקטע הענקת גישה לתוצאות של סריקת איכות הנתונים במסמך הזה.

      • הצגת תוצאות היסטוריות: הצגת מידע מפורט על משימות קודמות של סריקת איכות הנתונים. מידע נוסף זמין בקטעים הצגת תוצאות של סריקת איכות הנתונים והצגת תוצאות היסטוריות של סריקות במאמר הזה.

      • הצגת כל הסריקות: הצגת רשימה של סריקות איכות נתונים שרלוונטיות לטבלה הזו.

    • תוצאות הסריקה של איכות הנתונים לא מתפרסמות: בוחרים מבין האפשרויות הבאות:

      • יצירת סריקה של איכות הנתונים: יצירת סריקה חדשה של איכות הנתונים. מידע נוסף זמין בקטע יצירת סריקה של איכות הנתונים במסמך הזה. כשיוצרים סריקה מדף הפרטים של טבלה, הטבלה נבחרת מראש.

      • הצגת סריקות קיימות: הצגת רשימה של סריקות איכות נתונים שחלות על הטבלה הזו.

עדכון סריקה של איכות הנתונים

אפשר לערוך הגדרות שונות של סריקה קיימת של איכות הנתונים, כמו השם המוצג, המסננים, לוח הזמנים והכללים לאיכות הנתונים.

המסוף

  1. במסוף Google Cloud , עוברים לדף Knowledge Catalog (קטלוג הידע) Data profiling & quality (פרופיל ואיכות נתונים).

    מעבר לפרופיל נתונים ולאיכות נתונים

  2. לוחצים על השם של סריקת איכות הנתונים.

  3. כדי לערוך את ההגדרות, כולל השם המוצג, המסננים והלוח זמנים, לוחצים על עריכה. עורכים את הערכים ולוחצים על שמירה.

  4. כדי לערוך את הכללים של איכות הנתונים, בדף הפרטים של הסריקה, לוחצים על הכרטיסייה כללים נוכחיים. לוחצים על שינוי כללים. מעדכנים את הכללים ולוחצים על שמירה.

gcloud

כדי לעדכן את התיאור של סריקת איכות נתונים, משתמשים בפקודה gcloud dataplex datascans update data-quality:

gcloud dataplex datascans update data-quality DATASCAN \
--location=LOCATION \
--description=DESCRIPTION

מחליפים את מה שכתוב בשדות הבאים:

  • DATASCAN: השם של סריקת איכות הנתונים שרוצים לעדכן.
  • LOCATION: האזור שבו נוצרה סריקת איכות הנתונים. Google Cloud
  • DESCRIPTION: התיאור החדש של הסריקה לאיכות הנתונים.

C#‎

C#

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי C#ההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

using Google.Cloud.Dataplex.V1;
using Google.LongRunning;
using Google.Protobuf.WellKnownTypes;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for UpdateDataScan</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void UpdateDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        UpdateDataScanRequest request = new UpdateDataScanRequest
        {
            DataScan = new DataScan(),
            UpdateMask = new FieldMask(),
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataScan, OperationMetadata> response = dataScanServiceClient.UpdateDataScan(request);

        // Poll until the returned long-running operation is complete
        Operation<DataScan, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataScan result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<DataScan, OperationMetadata> retrievedResponse = dataScanServiceClient.PollOnceUpdateDataScan(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataScan retrievedResult = retrievedResponse.Result;
        }
    }
}

המשך

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.UpdateDataScanRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#UpdateDataScanRequest.
	}
	op, err := c.UpdateDataScan(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import com.google.cloud.dataplex.v1.DataScan;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.UpdateDataScanRequest;
import com.google.protobuf.FieldMask;

public class SyncUpdateDataScan {

  public static void main(String[] args) throws Exception {
    syncUpdateDataScan();
  }

  public static void syncUpdateDataScan() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataScanServiceClient dataScanServiceClient = DataScanServiceClient.create()) {
      UpdateDataScanRequest request =
          UpdateDataScanRequest.newBuilder()
              .setDataScan(DataScan.newBuilder().build())
              .setUpdateMask(FieldMask.newBuilder().build())
              .setValidateOnly(true)
              .build();
      DataScan response = dataScanServiceClient.updateDataScanAsync(request).get();
    }
  }
}

Python

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_update_data_scan():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

    # Initialize request argument(s)
    data_scan = dataplex_v1.DataScan()
    data_scan.data.entity = "entity_value"

    request = dataplex_v1.UpdateDataScanRequest(
        data_scan=data_scan,
    )

    # Make the request
    operation = client.update_data_scan(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

Ruby

Ruby

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Rubyההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

require "google/cloud/dataplex/v1"

##
# Snippet for the update_data_scan call in the DataScanService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::DataScanService::Client#update_data_scan.
#
def update_data_scan
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::DataScanService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::UpdateDataScanRequest.new

  # Call the update_data_scan method.
  result = client.update_data_scan request

  # The returned object is of type Gapic::Operation. You can use it to
  # check the status of an operation, cancel it, or wait for results.
  # Here is how to wait for a response.
  result.wait_until_done! timeout: 60
  if result.response?
    p result.response
  else
    puts "No response received."
  end
end

REST

כדי לערוך סריקה של איכות הנתונים, משתמשים ב-method ‏dataScans.patch.

מחיקת סריקה של איכות הנתונים

המסוף

המסוף

  1. במסוף Google Cloud , עוברים לדף Knowledge Catalog (קטלוג הידע) Data profiling & quality (פרופיל ואיכות נתונים).

    מעבר לפרופיל נתונים ולאיכות נתונים

  2. לוחצים על הסריקה שרוצים למחוק.

  3. לוחצים על מחיקה ומאשרים כשמוצגת בקשה.

gcloud

gcloud

כדי למחוק סריקה של איכות הנתונים, משתמשים בפקודה gcloud dataplex datascans delete:

gcloud dataplex datascans delete DATASCAN \
--location=LOCATION \
--async

מחליפים את המשתנים הבאים:

  • DATASCAN: השם של סריקת איכות הנתונים שרוצים למחוק.
  • LOCATION: האזור שבו נוצרה סריקת איכות הנתונים. Google Cloud

C#‎

C#

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי C#ההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

using Google.Cloud.Dataplex.V1;
using Google.LongRunning;
using Google.Protobuf.WellKnownTypes;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for DeleteDataScan</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void DeleteDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        DeleteDataScanRequest request = new DeleteDataScanRequest
        {
            DataScanName = DataScanName.FromProjectLocationDataScan("[PROJECT]", "[LOCATION]", "[DATASCAN]"),
            Force = false,
        };
        // Make the request
        Operation<Empty, OperationMetadata> response = dataScanServiceClient.DeleteDataScan(request);

        // Poll until the returned long-running operation is complete
        Operation<Empty, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        Empty result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<Empty, OperationMetadata> retrievedResponse = dataScanServiceClient.PollOnceDeleteDataScan(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            Empty retrievedResult = retrievedResponse.Result;
        }
    }
}

המשך

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.DeleteDataScanRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#DeleteDataScanRequest.
	}
	op, err := c.DeleteDataScan(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	err = op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
}

Java

Java

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import com.google.cloud.dataplex.v1.DataScanName;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.DeleteDataScanRequest;
import com.google.protobuf.Empty;

public class SyncDeleteDataScan {

  public static void main(String[] args) throws Exception {
    syncDeleteDataScan();
  }

  public static void syncDeleteDataScan() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataScanServiceClient dataScanServiceClient = DataScanServiceClient.create()) {
      DeleteDataScanRequest request =
          DeleteDataScanRequest.newBuilder()
              .setName(DataScanName.of("[PROJECT]", "[LOCATION]", "[DATASCAN]").toString())
              .setForce(true)
              .build();
      dataScanServiceClient.deleteDataScanAsync(request).get();
    }
  }
}

Python

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_delete_data_scan():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.DeleteDataScanRequest(
        name="name_value",
    )

    # Make the request
    operation = client.delete_data_scan(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

Ruby

Ruby

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Rubyההוראות להגדרה במאמר מדריך למתחילים לעבודה עם Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

require "google/cloud/dataplex/v1"

##
# Snippet for the delete_data_scan call in the DataScanService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::DataScanService::Client#delete_data_scan.
#
def delete_data_scan
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::DataScanService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::DeleteDataScanRequest.new

  # Call the delete_data_scan method.
  result = client.delete_data_scan request

  # The returned object is of type Gapic::Operation. You can use it to
  # check the status of an operation, cancel it, or wait for results.
  # Here is how to wait for a response.
  result.wait_until_done! timeout: 60
  if result.response?
    p result.response
  else
    puts "No response received."
  end
end

REST

REST

כדי למחוק סריקה של איכות הנתונים, משתמשים בשיטת dataScans.delete.

המאמרים הבאים