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

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

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

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

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

  1. Enable the Dataplex API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

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

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

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

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

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

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

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

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

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

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

  • מריצים סריקה של איכות הנתונים בטבלה ב-BigQuery:
    • bigquery.jobs.create בפרויקט כדי להריץ משימות סריקה
    • bigquery.tables.get בטבלת BigQuery שרוצים לסרוק
    • bigquery.tables.getData בטבלת BigQuery שרוצים לסרוק
  • פרסום תוצאות של סריקת איכות נתונים ב-Dataplex Universal 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 לגבי DataScan:
    • dataplex.datascans.getIamPolicy בפרויקט
    • dataplex.datascans.setIamPolicy בפרויקט

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

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

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

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

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

  • קריאת נתונים מטבלאות ב-BigQuery: ‫BigQuery Data Viewer (roles/bigquery.dataViewer) בטבלאות ב-BigQuery שצריך לסרוק ובכל טבלה אחרת שמפנים אליה בכללים
  • ייצוא תוצאות הסריקה לטבלה ב-BigQuery: ‫BigQuery Data Editor (roles/bigquery.dataEditor) במערך הנתונים ובטבלה של התוצאות
  • סריקת נתונים ב-BigQuery שמסודרים באגם של Dataplex Universal Catalog:
  • סריקה של טבלה חיצונית ב-BigQuery מ-Cloud Storage: Storage Object Viewer (roles/storage.objectViewer) on the קטגוריה של 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 שמסודרים באגם של Dataplex Universal 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

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

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

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

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

אפשר להגדיר כללים לאיכות הנתונים באמצעות כללים מובנים או בדיקות SQL בהתאמה אישית. אם אתם משתמשים ב-Google Cloud CLI, אתם יכולים להגדיר את הכללים האלה בקובץ JSON או YAML.

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

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

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

כללי הדוגמה הבאים מבוססים על סוגי כללים מובנים. אפשר ליצור כללים על סמך סוגי כללים מובנים באמצעות Google Cloud המסוף או ה-API. יכול להיות ש-Dataplex Universal 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 בהתאמה אישית, משתמשים במסגרת הבאה:

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

  • כשיוצרים כלל שמוערך על פני השורות או שמשתמש בתנאי של טבלה, צריך ליצור ביטוי שמחזיר הצלחה או כישלון כש-Dataplex Universal 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 נוצר לפני השימוש בכלל. יוצרים את מודל ה-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()} משמש כמחזיק מקום ל-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

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

המסוף

  1. במסוף Google Cloud , נכנסים לדף Data profiling & quality של Dataplex Universal Catalog.

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

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

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

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

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

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

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

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

      כדי לעיין בטבלאות שמאורגנות באגמי Dataplex Universal Catalog, לוחצים על Browse within Dataplex Lakes.

    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. כדי לפרסם את התוצאות של סריקת איכות הנתונים כמטא-נתונים של Dataplex Universal Catalog, מסמנים את תיבת הסימון פרסום התוצאות ב-Dataplex Catalog.

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

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

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

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

      • חד-פעמי: הפעל את סריקת איכות הנתונים פעם אחת עכשיו, והסר את הסריקה אחרי תקופת אורך החיים (TTL).

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

    10. לוחצים על Continue.

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

    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), מציינים את הטבלה שבה יאוחסנו תוצאות הסריקה של איכות הנתונים. אם אתם משתמשים בטבלה קיימת, ודאו שהיא תואמת לסכימת טבלת הייצוא. אם הטבלה שצוינה לא קיימת, Dataplex Universal Catalog יוצר אותה בשבילכם.

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

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

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

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

gcloud

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

אם נתוני המקור מאורגנים באגם Dataplex Universal 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

אם נתוני המקור לא מאורגנים באגם של Dataplex Universal 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: ישות Dataplex Universal 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#במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog C# API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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

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

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


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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Java API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Node.js API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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, dataScanId) {
  /**
   * 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 = {}
  /**
   *  Required. DataScan identifier.
   *  * 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,
      dataScanId,
    };

    // 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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Python API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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_create_data_scan():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

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

    request = dataplex_v1.CreateDataScanRequest(
        parent="parent_value",
        data_scan=data_scan,
        data_scan_id="data_scan_id_value",
    )

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

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

    response = operation.result()

    # Handle the response
    print(response)

Ruby

Ruby

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

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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
    }
  ]
}
}

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

  • PROJECT_ID: מזהה הפרויקט.
  • LOCATION: האזור שבו ייסרק המידע כדי לבדוק את איכות הנתונים.
  • DATASCAN_ID: המזהה של סריקת איכות הנתונים.
  • DATASET_ID: המזהה של מערך הנתונים ב-BigQuery.
  • TABLE_ID: המזהה של הטבלה ב-BigQuery.
  • COLUMN_NAME: שם העמודה של הכלל.
  • DIMENSION: המאפיין של הכלל, לדוגמה VALIDITY.

אם רוצים ליצור כללים לסריקת איכות הנתונים באמצעות המלצות לכללים שמבוססות על התוצאות של סריקת פרופיל הנתונים, צריך לקבל את ההמלצות באמצעות קריאה לשיטה 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.
  • אם הטבלה לא קיימת כשיוצרים או מעדכנים את הסריקה, Dataplex Universal Catalog יוצר את הטבלה בשבילכם.
  • כברירת מחדל, הטבלה מחולקת למחיצות בעמודה job_start_time מדי יום.
  • אם רוצים שהטבלה תפוצל למחיצות בהגדרות אחרות או אם לא רוצים שהיא תפוצל, צריך ליצור מחדש את הטבלה עם הסכימה וההגדרות הנדרשות, ואז לספק את הטבלה שנוצרה מראש כטבלת התוצאות.
  • מוודאים שטבלת התוצאות נמצאת באותו מיקום כמו טבלת המקור.
  • אם VPC-SC מוגדר בפרויקט, טבלת התוצאות צריכה להיות באותו היקף של VPC-SC כמו טבלת המקור.
  • אם הטבלה משתנה במהלך שלב ההפעלה של הסריקה, המשימה הנוכחית מייצאת לטבלת התוצאות הקודמת, והשינוי בטבלה נכנס לתוקף החל ממשימת הסריקה הבאה.
  • אל תשנו את סכימת הטבלה. אם אתם צריכים עמודות בהתאמה אישית, אתם יכולים ליצור תצוגה בטבלה.
  • כדי להפחית את העלויות, מגדירים תפוגה למחיצה בהתאם לתרחיש השימוש. מידע נוסף זמין במאמר בנושא הגדרת תאריך התפוגה של המחיצה.

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

המסוף

  1. במסוף Google Cloud , נכנסים לדף Data profiling & quality של Dataplex Universal Catalog.

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

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

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

gcloud

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

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

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

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

C#‎

C#

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

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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

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

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


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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Java API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Python API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Ruby API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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.

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

המסוף

  1. במסוף Google Cloud , נכנסים לדף Data profiling & quality של Dataplex Universal Catalog.

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

  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#במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog C# API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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

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

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


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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Java API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Python API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Ruby API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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.

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

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

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

    לחיפוש Google

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

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

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

הצגת תוצאות סריקה היסטוריות

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

המסוף

  1. במסוף Google Cloud , נכנסים לדף Data profiling & quality של Dataplex Universal Catalog.

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

  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#במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog C# API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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

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

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


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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Java API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Python API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Ruby API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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 , נכנסים לדף Data profiling & quality של Dataplex Universal Catalog.

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

  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. בחלון שאילתה, מזינים את השאילתה. שאילתות לדוגמה

  3. לוחצים על הרצת שאילתה.

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

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

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

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

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

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

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

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

gcloud

לא נתמך.

REST

מידע נוסף על הגדרת התראות ב-Cloud Logging זמין במאמר בנושא יצירת מדיניות התראות מבוססת-יומן באמצעות Monitoring API.

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

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

    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 שלא מאורגנת באגם Dataplex Universal 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 שמסודרת באגם של Dataplex Universal 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"
    

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

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

המסוף

  1. במסוף Google Cloud , נכנסים לדף Data profiling & quality של Dataplex Universal Catalog.

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

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

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

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

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

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

gcloud

לא נתמך.

REST

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

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

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

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

המסוף

לא נתמך.

gcloud

לא נתמך.

REST

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

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

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

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

  1. במסוף Google Cloud , עוברים לדף Search של Dataplex Universal Catalog.

    לחיפוש Google

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

המסוף

  1. במסוף Google Cloud , נכנסים לדף Data profiling & quality של Dataplex Universal Catalog.

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

  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#במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog C# API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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

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

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


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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Java API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Python API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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_quality_spec.rules.dimension = "dimension_value"
    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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Ruby API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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 , נכנסים לדף Data profiling & quality של Dataplex Universal Catalog.

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

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

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

gcloud

gcloud

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

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

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

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

C#‎

C#

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

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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

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

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


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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Java API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Python API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Ruby API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את 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.

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