במאמר הזה מוסבר איך להשתמש בסריקות של איכות הנתונים ב-Knowledge Catalog (לשעבר Dataplex Universal Catalog) כדי למדוד, לעקוב ולנהל את איכות הנתונים. סריקות של איכות הנתונים עוזרות להפוך את תהליך האימות של הנתונים לאוטומטי, כדי לוודא שהם מלאים, תקינים ועקביים.
בסריקות של איכות הנתונים, אתם יכולים להגדיר כללים לבדיקת ערכים חסרים, לוודא שהערכים תואמים לביטוי רגולרי או שייכים לקבוצה, לאמת את הייחודיות או להשתמש ב-SQL בהתאמה אישית לאימותים מורכבים יותר, כמו זיהוי אנומליות. במאמר הזה מוסבר איך ליצור ולנהל סריקות של איכות הנתונים.
מידע נוסף על סריקות של איכות הנתונים מידע נוסף על שימוש חוזר בכללים לאיכות הנתונים בכמה סריקות.
לפני שמתחילים
-
מפעילים את Dataplex API, אם הוא עדיין לא מופעל.
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים - אופציונלי: כדי ליצור המלצות לכללים של איכות נתונים על סמך התוצאות של סריקת פרופיל נתונים, יוצרים ומריצים את סריקת פרופיל הנתונים.
תפקידים והרשאות נדרשים
בקטע הזה מוסבר אילו תפקידים והרשאות ב-IAM נדרשים כדי להשתמש בסריקות של איכות הנתונים ב-Knowledge Catalog.
תפקידים והרשאות של משתמשים
כדי לקבל את ההרשאות שנדרשות להרצה ולניהול של סריקות איכות נתונים, בקשו מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
מריצים סריקה של איכות הנתונים בטבלה ב-BigQuery:
- BigQuery Job User (
roles/bigquery.jobUser) בפרויקט, כדי להריץ משימות סריקה - BigQuery Data Viewer (
roles/bigquery.dataViewer) בטבלה של BigQuery שרוצים לסרוק
- BigQuery Job User (
-
פרסום תוצאות הסריקה של איכות הנתונים ב-Knowledge Catalog:
- עריכת נתונים ב-BigQuery (
roles/bigquery.dataEditor) בטבלה שנסרקה - עריכת קטלוג Dataplex (
roles/dataplex.catalogEditor) בקבוצת הרשומות@bigqueryבאותו מיקום של הטבלה
- עריכת נתונים ב-BigQuery (
-
ביצוע משימות ספציפיות במשאבי
DataScan:- אדמין של Dataplex DataScan (
roles/dataplex.dataScanAdmin) בפרויקט, כדי לקבל גישה מלאה - Dataplex DataScan Creator (
roles/dataplex.dataScanCreator) בפרויקט כדי ליצור סריקות - עריכת Dataplex DataScan (
roles/dataplex.dataScanEditor) בפרויקט, כדי לקבל גישת כתיבה - Dataplex DataScan Viewer (
roles/dataplex.dataScanViewer) בפרויקט, כדי לקרוא את המטא-נתונים של הסריקה - Dataplex DataScan DataViewer (
roles/dataplex.dataScanDataViewer) בפרויקט כדי לקרוא את נתוני הסריקה, כולל כללים ותוצאות
- אדמין של Dataplex DataScan (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות כדי להריץ ולנהל סריקות של איכות הנתונים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להריץ ולנהל סריקות של איכות הנתונים, צריך את ההרשאות הבאות:
-
הרצת סריקה של איכות הנתונים בטבלה ב-BigQuery:
-
bigquery.jobs.createבפרויקט כדי להריץ משימות סריקה -
bigquery.tables.getבטבלה ב-BigQuery שרוצים לסרוק -
bigquery.tables.getDataבטבלה ב-BigQuery שרוצים לסרוק
-
-
פרסום תוצאות הסריקה של איכות הנתונים ב-Knowledge Catalog:
-
bigquery.tables.updateבטבלה שנסרקה -
dataplex.entryGroups.useDataQualityScorecardAspectבקבוצת הרשומות@bigqueryבאותו מיקום של הטבלה
-
-
יצירת
DataScan:dataplex.datascans.createבפרויקט -
מחיקת
DataScan:dataplex.datascans.deleteבפרויקט -
צפייה במטא-נתונים של
DataScan: dataplex.datascans.getבפרויקט -
צפייה בפרטים של
DataScan, כולל כללים ותוצאות:dataplex.datascans.getDataבפרויקט -
DataScanבפרויקט:dataplex.datascans.list -
הרצת
DataScan:dataplex.datascans.runבפרויקט -
עדכון של
DataScan:dataplex.datascans.updateבפרויקט -
קבלת או הגדרת מדיניות IAM ב-
DataScan:-
dataplex.datascans.getIamPolicyבפרויקט -
dataplex.datascans.setIamPolicyבפרויקט
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
אם אתם צריכים לגשת לעמודות שמוגנות על ידי מדיניות גישה ברמת העמודה ב-BigQuery, אתם צריכים גם הרשאות לעמודות האלה.
תפקידים והרשאות של חשבון שירות ב-Knowledge Catalog
אם לא יצרתם סריקות של איכות נתונים או של סריקת פרופיל נתונים, או אם אין לכם מאגר נתונים של Knowledge Catalog בפרויקט הזה, אתם יכולים ליצור מזהה שירות באמצעות הפקודה הבאה: gcloud beta services identity create --service=dataplex.googleapis.com.
הפקודה הזו מחזירה מזהה שירות של Knowledge Catalog, אם הוא קיים.
כדי לוודא שלחשבון השירות של Knowledge Catalog בפרויקט שבו מתבצעת סריקת איכות הנתונים יש את ההרשאות שנדרשות לקריאת נתונים ממקורות שונים ולייצוא התוצאות, צריך לבקש מהאדמין להקצות לחשבון השירות של Knowledge Catalog בפרויקט שבו מתבצעת סריקת איכות הנתונים את תפקידי ה-IAM הבאים:
-
קריאת נתונים מטבלאות ב-BigQuery:
BigQuery Data Viewer (
roles/bigquery.dataViewer) בטבלאות שצריך לסרוק ובכל טבלה אחרת שמוזכרת בכללים -
קריאת נתוני טבלאות של Google Cloud Lakehouse ב-Iceberg REST Catalog, ב-SAP Business Data Cloud Delta Lake וב-Apache Hive:
BigLake Viewer (
roles/biglake.viewer) בטבלאות הרלוונטיות לסריקה ובכל טבלה אחרת שמצוינת בכללים -
ייצוא תוצאות הסריקה לטבלה ב-BigQuery:
עריכת נתונים ב-BigQuery (
roles/bigquery.dataEditor) במערך הנתונים ובטבלה של התוצאות -
סריקת נתונים ב-BigQuery שמאורגנים ב-Knowledge Catalog Lake:
- Dataplex Metadata Reader (
roles/dataplex.metadataReader) במשאבי Dataplex - Dataplex Viewer (
roles/dataplex.viewer) במשאבי Dataplex
- Dataplex Metadata Reader (
-
סריקת טבלה חיצונית של BigQuery מ-Cloud Storage:
צפייה באובייקטים באחסון (
roles/storage.objectViewer) בקטגוריה של Cloud Storage
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
אלה תפקידים מוגדרים מראש שכוללים את ההרשאות שנדרשות כדי לקרוא נתונים ממקורות שונים ולייצא תוצאות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לקרוא נתונים ממקורות שונים ולייצא תוצאות, נדרשות ההרשאות הבאות:
-
קריאת נתונים מטבלה ב-BigQuery:
-
bigquery.tables.getבטבלאות ב-BigQuery -
bigquery.tables.getDataבטבלאות ב-BigQuery
-
-
ייצוא של תוצאות הסריקה לטבלה ב-BigQuery:
-
bigquery.datasets.getבמערך הנתונים ובטבלה של התוצאות -
bigquery.tables.createבמערך הנתונים ובטבלה של התוצאות -
bigquery.tables.getבמערך הנתונים ובטבלה של התוצאות -
bigquery.tables.getDataבמערך הנתונים ובטבלה של התוצאות -
bigquery.tables.updateבמערך הנתונים ובטבלה של התוצאות -
bigquery.tables.updateDataבמערך הנתונים ובטבלה של התוצאות
-
-
סריקת נתונים ב-BigQuery שמאורגנים ב-Knowledge Catalog Lake:
-
dataplex.lakes.listבמשאבי Dataplex -
dataplex.lakes.getבמשאבי Dataplex -
dataplex.zones.listבמשאבי Dataplex -
dataplex.zones.getבמשאבי Dataplex -
dataplex.entities.listבמשאבי Dataplex -
dataplex.entities.getבמשאבי Dataplex -
dataplex.operations.getבמשאבי Dataplex
-
-
סריקת טבלה חיצונית של BigQuery מ-Cloud Storage:
-
storage.buckets.getבקטגוריה של Cloud Storage -
storage.objects.getבקטגוריה של Cloud Storage
-
יכול להיות שהאדמין יוכל גם לתת לחשבון השירות של Knowledge Catalog בפרויקט שמכיל את סריקת איכות הנתונים את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
אם אתם צריכים לגשת לעמודות שמוגנות על ידי מדיניות גישה ברמת העמודה ב-BigQuery, הקצו לחשבון השירות של Knowledge Catalog הרשאות לעמודות האלה.
אם בטבלה מופעלות מדיניות גישה ברמת השורה ב-BigQuery, אפשר לסרוק רק שורות שגלויות לחשבון השירות של Knowledge Catalog. חשוב לזכור שהרשאות הגישה של המשתמש הספציפי לא נבדקות במדיניות ברמת השורה.
דרישות רשת
כדי להריץ סריקה, צריך להפעיל את גישה פרטית ל-Google ברשת המשנה של ה-VPC שבה משתמשים לסריקה. אם לא מציינים רשת משנה, צריך לוודא שברשת המשנה שמוגדרת כברירת מחדל מופעלת גישה פרטית ל-Google.
הגדרת כללים לאיכות הנתונים
אפשר להגדיר כללים לאיכות הנתונים באמצעות:
אם אתם משתמשים ב-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. יכול להיות ש-Knowledge Catalog ימליץ על חלק מהכללים האלה.
| שם העמודה | סוג הכלל | הצעה למאפיין | פרמטרים של כללים |
|---|---|---|---|
transaction_id |
בדיקת ייחודיות | ייחודיות | סף: Not Applicable |
amount |
בדיקת ערך Null | שלמות הנתונים | סף: 100% |
customer_id |
בדיקת ביטוי רגולרי (regex) | תוקף | ביטוי רגולרי: ^[a-zA-Z]{8}[0-9]{16}$ סף: 100%
|
currency_id |
בדיקת קבוצת הערכים | תוקף | קבוצה של: USD,JPY,INR,GBP,CAN סף: 100%
|
הגדרת כללים לאיכות הנתונים באמצעות כללי SQL בהתאמה אישית
כדי ליצור כללי SQL בהתאמה אישית, משתמשים במסגרת הבאה:
כשיוצרים כלל שמעריך שורה אחת בכל פעם, צריך ליצור ביטוי שמפיק את מספר השורות המוצלחות כש-Knowledge Catalog מעריך את השאילתה
SELECT COUNTIF(CUSTOM_SQL_EXPRESSION) FROM TABLE. ב-Knowledge Catalog נבדק מספר השורות שעברו בהצלחה בהשוואה לסף.כשיוצרים כלל שבודק את השורות או משתמש בתנאי טבלה, צריך ליצור ביטוי שמחזיר הצלחה או כישלון כש-Knowledge Catalog בודק את השאילתה
SELECT IF(CUSTOM_SQL_EXPRESSION) FROM TABLE.כשיוצרים כלל שמעריך את המצב הלא תקין של קבוצת נתונים, צריך לספק הצהרה שמחזירה שורות לא תקינות. אם מוחזרות שורות, הכלל נכשל. משמיטים את הנקודה-פסיק בסוף הצהרת ה-SQL.
אתם יכולים להפנות לטבלה של מקור נתונים ולכל מסנני התנאים המוקדמים שלה באמצעות פרמטר ההפניה לנתונים
${data()}בכלל, במקום לציין במפורש את טבלת המקור ואת המסננים שלה. דוגמאות למסננים של תנאים מוקדמים: מסנני שורות, אחוזי דגימה ומסננים מצטברים. הפרמטר${data()}תלוי אותיות רישיות.
הדוגמאות הבאות מבוססות על כללי SQL בהתאמה אישית.
| סוג הכלל | תיאור הכלל | ביטוי SQL |
|---|---|---|
| תנאי השורה | בודק אם הערך של discount_pct הוא בין 0 ל-100.
|
0 <discount_pct וגם 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 לזיהוי חריגות ב-discount_pct. היא בודקת אם צריך להחיל הנחה על סמך customer, currency ו-transaction. הכלל בודק אם החיזוי תואם לערך בפועל, לפחות ב-99% מהמקרים. הנחה: מודל למידת המכונה נוצר לפני השימוש בכלל. יוצרים את מודל ה-ML באמצעות הפקודה הבאה:
CREATE MODEL
model-project-id.dataset-id.model-name
OPTIONS(model_type='logistic_reg') AS
SELECT
IF(discount_pct IS NULL, 0, 1) AS label,
IFNULL(customer_id, "") AS customer,
IFNULL(currency_id, "") AS currency,
IFNULL(amount, 0.0) AS amount
FROM
`data-project-id.dataset-id.table-names`
WHERE transaction_timestamp < '2022-01-01';
|
הכלל הבא בודק אם דיוק החיזוי גדול מ-99%.
SELECT
accuracy > 0.99
FROM
ML.EVALUATE
(MODEL model-project-id.dataset-id.model-name,
(
SELECT
customer_id,
currency_id,
amount,
discount_pct
FROM
data-project-id.dataset-id.table-names
WHERE transaction_timestamp > '2022-01-01';
)
)
|
| תנאי השורה | פונקציית חיזוי של BigQuery ML לזיהוי חריגות ב-discount_pct. הפונקציה בודקת אם צריך להחיל הנחה על סמך customer, currency ו-transaction.
הכלל מזהה את כל המקרים שבהם החיזוי לא תאם.
הנחה: מודל למידת המכונה נוצר לפני השימוש בכלל. יוצרים את מודל ה-ML באמצעות הפקודה הבאה:
CREATE MODEL
model-project-id.dataset-id.model-name
OPTIONS(model_type='logistic_reg') AS
SELECT
IF(discount_pct IS NULL, 0, 1) AS label,
IFNULL(customer_id, "") AS customer,
IFNULL(currency_id, "") AS currency,
IFNULL(amount, 0.0) AS amount
FROM
`data-project-id.dataset-id.table-names`
WHERE transaction_timestamp < '2022-01-01';
|
הכלל הבא בודק אם חיזוי ההנחה תואם לערך בפועל בכל שורה.
IF(discount_pct > 0, 1, 0)
=(SELECT predicted_label FROM
ML.PREDICT(
MODEL model-project-id.dataset-id.model-name,
(
SELECT
customer_id,
currency_id,
amount,
discount_pct
FROM
data-project-id.dataset-id.table-names AS t
WHERE t.transaction_timestamp =
transaction_timestamp
LIMIT 1
)
)
)
|
| טענת נכוֹנוּת (assertion) ב-SQL | בודק אם discount_pct גדול מ-30% להיום,
על ידי בדיקה אם קיימות שורות עם אחוז הנחה קטן מ-30 או
שווה לו. |
SELECT * FROM my_project_id.dim_dataset.dim_currency WHERE discount_pct <= 30 AND transaction_timestamp >= current_date() |
| טענת SQL (עם פרמטר של הפניה לנתונים) | בודק אם מסנן התאריכים הפרמטר |
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: '^[a-zA-Z]{8}[0-9]{16}$'
column : customer_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- setExpectation :
values :
- 'USD'
- 'JPY'
- 'INR'
- 'GBP'
- 'CAN'
column : currency_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- rangeExpectation:
minValue : '0'
maxValue : '100'
column : discount_pct
ignoreNull : true
dimension : VALIDITY
threshold : 1
- rowConditionExpectation:
sqlExpression : 0 < `discount_pct` AND `discount_pct` < 100
column: discount_pct
dimension: VALIDITY
threshold: 1
- rowConditionExpectation:
sqlExpression : currency_id in (select id from `my_project_id.dim_dataset.dim_currency`)
column: currency_id
dimension: VALIDITY
threshold: 1
- tableConditionExpectation:
sqlExpression : 30 < avg(discount_pct) AND avg(discount_pct) < 50
dimension: VALIDITY
- rowConditionExpectation:
sqlExpression : TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
column: transaction_timestamp
dimension: VALIDITY
threshold: 1
- sqlAssertion:
sqlStatement : SELECT * FROM `my_project_id.dim_dataset.dim_currency` WHERE discount_pct > 100
dimension: VALIDITY
debugQueries:
- sqlStatement: SELECT MAX(discount_pct) FROM `my_project_id.dim_dataset.dim_currency`
samplingPercent: 50
rowFilter: discount_pct > 100
postScanActions:
bigqueryExport:
resultsTable: projects/my_project_id/datasets/dim_dataset/tables/dim_currency
notificationReport:
recipients:
emails:
- '222larabrown@gmail.com'
- 'cloudysanfrancisco@gmail.com'
scoreThresholdTrigger:
scoreThreshold: 50
jobFailureTrigger: {}
jobEndTrigger: {}
catalogPublishingEnabled: true
הגדרת זהות ההרצה
כברירת מחדל, סריקות של איכות הנתונים פועלות באמצעות חשבון השירות של Knowledge Catalog. אפשר לשנות את ההגדרה הזו כדי להשתמש בחשבון שירות בהתאמה אישית או בפרטי כניסה של משתמש קצה (EUC).
שימוש בזהות הרצה בהתאמה אישית משנה את אופן החיוב על הסריקה. כשמציינים זהות מותאמת אישית להרצה, עלויות המחשוב והאחסון שמשויכות לסריקה מחויבות ישירות בפרויקט ב-BigQuery, בלי לעבור דרך המק"טים הרגילים של Knowledge Catalog Premium.
ההרשאות הנדרשות לזהויות הרצה בהתאמה אישית
כדי להגדיר חשבון שירות בהתאמה אישית או להשתמש בפרטי כניסה של משתמש קצה, אתם צריכים את ההרשאות הנוספות הבאות לניהול זהויות והרשאות גישה (IAM):
- כדי להשתמש בחשבון שירות בהתאמה אישית, צריך:
- ההרשאה
iam.serviceAccounts.actAsשניתנה לפרויקט שמכיל את חשבון השירות (לדוגמה,roles/iam.serviceAccountUser). - לסוכן השירות של הפרויקט (
service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) צריכה להיות ההרשאהiam.serviceAccounts.getAccessTokenבחשבון השירות בהתאמה אישית (לדוגמה, באמצעות התפקידroles/iam.serviceAccountTokenCreator). - לחשבון השירות בהתאמה אישית צריכה להיות ההרשאה
bigquery.tables.getDataבטבלה לסריקה, ההרשאהbigquery.jobs.insertבפרויקט הסריקה וההרשאהbigquery.dataEditorבמערך הנתונים לייצוא (אם משתמשים בייצוא).
- ההרשאה
- כדי להשתמש בפרטי כניסה של משתמשי קצה, צריך:
-
bigquery.tables.getDataעל השולחן כדי לסרוק. -
bigquery.jobs.insertבפרויקט הסריקה. bigquery.dataEditorבמערך הנתונים לייצוא (אם משתמשים בייצוא).
-
כדי להגדיר את זהות ההרצה, בוחרים באחת מהאפשרויות הבאות:
המסוף
כדי להגדיר את זהות ההפעלה במסוף Google Cloud , בוחרים את הזהות כשיוצרים את סריקת איכות הנתונים.
בקטע Execution Identity, בוחרים אחת מהאפשרויות הבאות:
- סוכן השירות של Dataplex: פעולת ברירת המחדל.
- Service Account: מזינים את כתובת האימייל של חשבון השירות שבו רוצים להשתמש.
- פרטי כניסה של משתמש: משתמשים בפרטי הכניסה שלכם כדי להריץ את הסריקה.
REST
כדי להשתמש בחשבון שירות בהתאמה אישית, מוסיפים את האובייקט executionIdentity להגדרת המשאב DataScan במהלך הבקשה create:
"executionIdentity": { "serviceAccount": { "email": "YOUR_SERVICE_ACCOUNT_EMAIL" } }
מחליפים את מה שכתוב בשדות הבאים:
-
YOUR_SERVICE_ACCOUNT_EMAIL: כתובת האימייל של חשבון השירות שבו רוצים להשתמש.
כדי להשתמש בפרטי הכניסה של משתמש הקצה, צריך לציין את האובייקט userCredential:
"executionIdentity": { "userCredential": {} }
יצירת סריקה של איכות הנתונים
המסוף
במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.
לוחצים על יצירת סריקת איכות נתונים.
בחלון Define scan, ממלאים את השדות הבאים:
אופציונלי: מזינים שם לתצוגה.
מזינים מזהה. מוסכמות למתן שמות למשאבים
אופציונלי: מזינים תיאור.
בשדה Table, לוחצים על Browse. בוחרים את הטבלה שרוצים לסרוק ולוחצים על Select. יש תמיכה רק בטבלאות של BigQuery, Iceberg REST Catalog, SAP BDC Delta ו-Hive ב- Google CloudLakehouse.
בטבלאות של מערכי נתונים במספר אזורים, בוחרים את האזור שבו רוצים ליצור את סריקת הנתונים.
כדי לעיין בטבלאות שמאורגנות ב-Knowledge Catalog, לוחצים על Browse within Knowledge Catalog Lakes.
בשדה היקף, בוחרים באפשרות מצטבר או כל הנתונים.
- אם בוחרים באפשרות מצטבר: בשדה עמודת חותמת זמן, בוחרים עמודה מסוג
DATEאוTIMESTAMPמהטבלה ב-BigQuery שגדלה ככל שנוספות רשומות חדשות, ושאפשר להשתמש בה כדי לזהות רשומות חדשות. זו יכולה להיות עמודה שמחלקת את הטבלה למחיצות.
- אם בוחרים באפשרות מצטבר: בשדה עמודת חותמת זמן, בוחרים עמודה מסוג
אופציונלי: כדי לסנן את הנתונים, מסמנים את התיבה סינון שורות. מציינים מסנן שורות שמורכב מביטוי SQL תקין, שאפשר להשתמש בו כחלק מסעיף
WHEREבתחביר של GoogleSQL. לדוגמה,col1 >= 0. המסנן יכול להיות שילוב של כמה תנאים בעמודות. לדוגמה,col1 >= 0 AND col2 < 10.כדי לדגום את הנתונים, בוחרים אחוז דגימה ברשימה Sampling size. בוחרים ערך באחוזים בטווח שבין 0.0% ל-100.0% עם עד 3 ספרות אחרי הנקודה העשרונית. בקבוצות נתונים גדולות יותר, כדאי לבחור אחוז דגימה נמוך יותר. לדוגמה, בטבלה של 1 PB, אם תזינו ערך בין 0.1% ל-1.0%, סריקת איכות הנתונים תדגום בין 1 ל-10 TB של נתונים. בסריקות של נתונים מצטברים, סריקת איכות הנתונים מחילה דגימה על הנתונים המצטברים האחרונים.
אופציונלי: כדי לפרסם את תוצאות הסריקה של איכות הנתונים כמטא-נתונים של Knowledge Catalog, מסמנים את התיבה Publish results to Knowledge Catalog.
אפשר לראות את תוצאות הסריקה האחרונה בכרטיסייה איכות הנתונים בדפים BigQuery ו-Knowledge Catalog של טבלת המקור. כדי לאפשר למשתמשים לגשת לתוצאות הסריקה שפורסמו, עיינו בקטע מתן גישה לתוצאות של סריקת איכות הנתונים במסמך הזה.
בקטע Credential type, קראו את המאמר הגדרת זהות ההפעלה.
כדי ליצור סריקה של איכות הנתונים באמצעות כללים, בוחרים באפשרות Rule type > Create with entry based rule.
בקטע תזמון, בוחרים אחת מהאפשרויות הבאות:
Repeat: הפעלת הסריקה של איכות הנתונים לפי לוח זמנים: מדי שעה, מדי יום, מדי שבוע, מדי חודש או בהתאמה אישית. מציינים את התדירות והשעה של הסריקה. אם בוחרים באפשרות Custom, צריך לציין את לוח הזמנים בפורמט cron.
לפי דרישה: הפעלת סריקת איכות הנתונים לפי דרישה.
הפעלה חד-פעמית: הפעלה של סריקת איכות הנתונים פעם אחת עכשיו, והסרה של הסריקה אחרי זמן המחיקה האוטומטית. התכונה הזו נמצאת בגרסת טרום-השקה (Preview).
- הגדרת מחיקה אוטומטית של תוצאות אחרי סריקה: משך הזמן בין ביצוע הסריקה לבין המחיקה שלה. סריקה של איכות הנתונים שלא צוין בה זמן מחיקה אוטומטית נמחקת באופן אוטומטי 24 שעות אחרי ההפעלה שלה. הזמן למחיקה אוטומטית יכול להיות בין 0 שניות (מחיקה מיידית) ל-365 ימים.
לוחצים על Continue.
בחלון Data quality rules, מגדירים את הכללים לסריקה הזו של איכות הנתונים.
לוחצים על הוספת כללים ובוחרים מבין האפשרויות הבאות.
המלצות שמבוססות על פרופיל: יצירת כללים מההמלצות שמבוססות על סריקה קיימת של פרופיל נתונים.
בחירת עמודות: בוחרים את העמודות שרוצים לקבל עבורן המלצות לכללים.
Choose scan project: אם סריקת פרופיל הנתונים נמצאת בפרויקט אחר מהפרויקט שבו אתם יוצרים את סריקת איכות הנתונים, בוחרים את הפרויקט שממנו רוצים לשלוף את סריקות הפרופיל.
בחירת תוצאות של פרופילים: בוחרים תוצאה אחת או יותר של פרופילים ולוחצים על אישור. תופיע רשימה של כללים מוצעים שאפשר להשתמש בהם כנקודת התחלה.
מסמנים את התיבה לצד הכללים שרוצים להוסיף ולוחצים על בחירה. אחרי שבוחרים את הכללים, הם מתווספים לרשימת הכללים הנוכחית. לאחר מכן, אפשר לערוך את הכללים.
סוגי כללים מובְנים: יצירת כללים מכללים מוגדרים מראש. רשימת הכללים המוגדרים מראש
בחירת עמודות: בוחרים את העמודות שרוצים לבחור להן כללים.
בחירת סוגי כללים: בוחרים את סוגי הכללים שרוצים לבחור מהם ולוחצים על אישור. סוגי הכללים שמופיעים תלויים בעמודות שבחרתם.
מסמנים את התיבה לצד הכללים שרוצים להוסיף ולוחצים על בחירה. אחרי שבוחרים את הכללים, הם מתווספים לרשימת הכללים הנוכחית. לאחר מכן, אפשר לערוך את הכללים.
כלל לבדיקת שורות ב-SQL: יוצרים כלל SQL בהתאמה אישית ומחילים אותו על כל שורה.
בקטע מאפיין, בוחרים מאפיין אחד.
בקטע Passing threshold, בוחרים את אחוז הרשומות שצריכות לעבור את הבדיקה.
בשם העמודה, בוחרים עמודה.
בשדה Provide a SQL expression, מזינים ביטוי SQL שמחזיר ערך בוליאני של
true(עבר) אוfalse(נכשל). למידע נוסף, קראו על סוגי כללי SQL נתמכים בהתאמה אישית ועיינו בדוגמאות שבמאמר הגדרת כללים לאיכות הנתונים.לוחצים על הוספה.
כלל בדיקה של צבירת SQL: יצירת כלל מותאם אישית לתנאי טבלה ב-SQL.
בקטע מאפיין, בוחרים מאפיין אחד.
בשם העמודה, בוחרים עמודה.
בשדה Provide a SQL expression, מזינים ביטוי SQL שמחזיר ערך בוליאני של
true(עבר) אוfalse(נכשל). למידע נוסף, קראו על סוגי כללי SQL נתמכים בהתאמה אישית ועיינו בדוגמאות שבמאמר הגדרת כללים לאיכות הנתונים.לוחצים על הוספה.
כלל טענת נכוֹנוּת (assertion) ב-SQL: יוצרים כלל טענת נכוֹנוּת מותאם אישית ב-SQL כדי לבדוק אם יש מצב לא תקין של הנתונים.
בקטע מאפיין, בוחרים מאפיין אחד.
אופציונלי: בשדה שם העמודה, בוחרים עמודה.
בשדה Provide a SQL statement, מזינים הצהרת SQL שמחזירה שורות שתואמות למצב הלא תקין. אם מוחזרות שורות, הכלל הזה נכשל. אל תכללו את הנקודה-פסיק בסוף הצהרת ה-SQL. למידע נוסף, קראו על סוגי כללי SQL נתמכים בהתאמה אישית ועיינו בדוגמאות שבמאמר הגדרת כללים לאיכות הנתונים.
לוחצים על הוספה.
אופציונלי: לכל כלל של איכות נתונים, אתם יכולים להקצות שם כלל בהתאמה אישית לשימוש במעקב ובהתראות, ותיאור. כדי לעשות את זה, עורכים את הכלל ומציינים את הפרטים הבאים:
- שם הכלל: מזינים שם לכלל בהתאמה אישית, באורך של עד 63 תווים. שם הכלל יכול לכלול אותיות (a-z, A-Z), ספרות (0-9) ומקפים (-). הוא חייב להתחיל באות ולהסתיים בספרה או באות.
- תיאור: מזינים תיאור של הכלל באורך של עד 1,024 תווים.
חוזרים על השלבים הקודמים כדי להוסיף עוד כללים לסריקה של איכות הנתונים. כשמסיימים, לוחצים על המשך.
אופציונלי: ייצוא של תוצאות הסריקה לטבלה רגילה ב-BigQuery. בקטע Export scan results to BigQuery table, מבצעים את הפעולות הבאות:
בשדה Select BigQuery dataset, לוחצים על Browse. בוחרים מערך נתונים ב-BigQuery שבו יישמרו תוצאות הסריקה של איכות הנתונים.
בשדה BigQuery table, מציינים את הטבלה ב-BigQuery שבה רוצים לשמור את תוצאות הסריקה של איכות הנתונים. אם אתם משתמשים בטבלה קיימת, ודאו שהיא תואמת לסכימת טבלת הייצוא. אם הטבלה שציינתם לא קיימת, היא תיווצר על ידי Knowledge Catalog.
אופציונלי: מוסיפים תוויות. תוויות הן צמדי מפתח/ערך שמאפשרים לקשר בין אובייקטים או ביניהם לבין משאבים אחרים של Google Cloud .
אופציונלי: מגדירים דוחות של התראות באימייל כדי לעדכן אנשים לגבי הסטטוס והתוצאות של משימת סריקה של איכות הנתונים. בקטע Notification report, לוחצים על Add email ID ומזינים עד חמש כתובות אימייל. אחר כך בוחרים את התרחישים שרוצים לשלוח עליהם דוחות:
- ציון איכות (<=): שליחת דוח כשהמשימה מסתיימת בהצלחה עם ציון איכות נתונים נמוך יותר מציון היעד שצוין. מזינים ציון איכות בין 0 ל-100.
- כשלים במשימות: שליחת דוח כשהמשימה עצמה נכשלת, בלי קשר לתוצאות של איכות הנתונים.
- השלמת המשימה (הצלחה או כישלון): שליחת דוח כשהמשימה מסתיימת, בלי קשר לתוצאות של איכות הנתונים.
לוחצים על יצירה.
אחרי שיוצרים את הסריקה, אפשר להריץ אותה בכל שלב בלחיצה על Run now.
gcloud
כדי ליצור סריקה של איכות הנתונים, משתמשים בפקודה gcloud dataplex datascans create data-quality.
אם נתוני המקור מאורגנים ב-Knowledge Catalog lake, צריך לכלול את הדגל --data-source-entity:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
אם נתוני המקור לא מאורגנים ב-Knowledge Catalog lake, צריך לכלול את הדגל --data-source-resource:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-resource=DATA_SOURCE_RESOURCE
מחליפים את המשתנים הבאים:
-
DATASCAN: השם של סריקת איכות הנתונים. -
LOCATION: האזור ב- Google Cloud שבו רוצים ליצור את סריקת איכות הנתונים. -
DATA_QUALITY_SPEC_FILE: הנתיב לקובץ ה-JSON או ה-YAML שמכיל את המפרט של סריקת איכות הנתונים. הקובץ יכול להיות קובץ מקומי או נתיב של Cloud Storage עם הקידומתgs://. משתמשים בקובץ הזה כדי לציין את הכללים של איכות הנתונים לסריקה. אתם יכולים גם לציין פרטים נוספים בקובץ הזה, כמו מסננים, אחוז דגימה ופעולות לאחר הסריקה, כמו ייצוא ל-BigQuery או שליחת דוחות של התראות באימייל. אפשר לעיין במסמכי התיעוד של ייצוג JSON ובדוגמה לייצוג YAML. -
DATA_SOURCE_ENTITY: הישות ב-Knowledge Catalog שמכילה את הנתונים לסריקת איכות הנתונים. לדוגמה,projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity. -
DATA_SOURCE_RESOURCE: שם המשאב שמכיל את הנתונים לסריקת איכות הנתונים. לדוגמה,//bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table.
C#
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
המשך
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Node.js
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Node.js API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Ruby
Ruby
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי ליצור סריקה של איכות הנתונים, משתמשים ב-method dataScans.create.
הבקשה הבאה יוצרת סריקה חד-פעמית של איכות הנתונים:
POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans?data_scan_id=DATASCAN_ID { "data": { "resource": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID" }, "type": "DATA_QUALITY", "executionSpec": { "trigger": { "oneTime": { "ttl_after_scan_completion": "120s" } } }, "dataQualitySpec": { "rules": [ { "nonNullExpectation": {}, "column": "COLUMN_NAME", "dimension": "DIMENSION", "threshold": 1 } ], "filter": "FILTER_CONDITION" } }
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
LOCATION: האזור שבו רוצים ליצור את סריקת איכות הנתונים. -
DATASCAN_ID: המזהה של סריקת איכות הנתונים. -
DATASET_ID: המזהה של מערך הנתונים ב-BigQuery. -
TABLE_ID: המזהה של הטבלה ב-BigQuery. -
COLUMN_NAME: שם העמודה של הכלל. -
DIMENSION: המאפיין של הכלל, לדוגמהVALIDITY. -
FILTER_CONDITION: מחרוזת סינון אופציונלית של AIP-160 להרצה סלקטיבית של כללים (לדוגמה,name = \"RULE_NAME\").
אם אתם רוצים ליצור כללים לסריקת איכות הנתונים באמצעות המלצות לכללים שמבוססות על התוצאות של סריקת פרופיל הנתונים, אתם יכולים לקבל את ההמלצות על ידי קריאה ל-method 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": "ondemand", "incremental": true} |
||
| 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_passed_percent | float |
יכול להיות ריק | (0.0-100.0)80.0 (מציין 80%) |
||
| 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 |
||
| rule_attributes | json |
יכול להיות ריק | {"key": "value"} |
||
| rule_source | struct/record |
rule_path_elements |
struct/record |
חוזרת | [{"entry_source": {"entry_type": "bigquery_table"}}] |
↳ entry_source |
struct/record |
יכול להיות ריק | {"entry_type": "bigquery_table"} |
||
thought
↳ entry_type |
string |
יכול להיות ריק | bigquery_table |
||
thought
↳ entry |
string |
יכול להיות ריק | projects/test-project/locations/us/entryGroups/@bigquery/entries/test-table |
||
thought
↳ display_name |
string |
יכול להיות ריק | test-table |
||
↳ entry_link_source |
struct/record |
יכול להיות ריק | {"entry_link_type": "table_spec"} |
||
↳ entry_link_type |
string |
יכול להיות ריק | table_spec |
||
↳ entry_link |
string |
יכול להיות ריק | projects/test-project/locations/us/entryLinks/test-link |
כשמגדירים BigQueryExport למשימת סריקה של איכות הנתונים, צריך לפעול לפי ההנחיות הבאות:
- בשדה
resultsTable, צריך להשתמש בפורמט://bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}. - משתמשים בטבלה רגילה של BigQuery.
- אם הטבלה לא קיימת כשהסריקה נוצרת או מתעדכנת, היא נוצרת על ידי Knowledge Catalog.
- כברירת מחדל, הטבלה מחולקת למחיצות לפי העמודה
job_start_timeמדי יום. - אם אתם רוצים לחלק את הטבלה למחיצות בהגדרות אחרות, או אם אתם לא רוצים לחלק אותה למחיצות, אתם צריכים ליצור מחדש את הטבלה עם הסכימה וההגדרות הנדרשות, ואז לספק את הטבלה שנוצרה מראש כטבלת התוצאות.
- חשוב לוודא שטבלת התוצאות נמצאת באותו מיקום כמו טבלת המקור.
- אם VPC-SC מוגדר בפרויקט, טבלת התוצאות צריכה להיות באותו היקף VPC-SC כמו טבלת המקור.
- אם הטבלה משתנה במהלך שלב הסריקה, המשימה שפועלת כרגע מייצאת לטבלת התוצאות הקודמת, והשינוי בטבלה נכנס לתוקף ממשימת הסריקה הבאה.
- אל תשנו את הסכימה של הטבלה. אם אתם צריכים עמודות בהתאמה אישית, צרו תצוגה בטבלה.
- כדי להפחית את העלויות, הגדירו תאריך תפוגה למחיצה בהתאם לתרחיש לדוגמה. מידע נוסף זמין במאמר הגדרת תפוגה למחיצה.
הפעלת סריקה של איכות הנתונים
המסוף
במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.
לוחצים על הסריקה של איכות הנתונים שרוצים להריץ.
לוחצים על הפעלה מיידית.
gcloud
כדי להריץ סריקה של איכות הנתונים, משתמשים בפקודה gcloud dataplex datascans run:
gcloud dataplex datascans run DATASCAN \ --location=LOCATION \
מחליפים את המשתנים הבאים:
-
LOCATION: האזור ב- Google Cloud שבו נוצרה סריקת איכות הנתונים. -
DATASCAN: השם של סריקת איכות הנתונים.
C#
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
המשך
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Ruby
Ruby
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להריץ סריקה של איכות הנתונים, משתמשים ב-method dataScans.run.
Airflow
כדי להריץ סריקה של איכות הנתונים באמצעות גרף אציקלי מכוון (DAG) ב-Managed Service for Apache Airflow (Cloud Composer), משתמשים ב-DataplexRunDataQualityScanOperator:
from datetime import datetime
from airflow import DAG
from airflow.providers.google.cloud.operators.dataplex import DataplexRunDataQualityScanOperator
with DAG(
"dataplex_auto_dq_scan",
start_date=datetime(2026, 1, 1),
schedule_interval="@daily",
catchup=False,
) as dag:
run_dq_scan = DataplexRunDataQualityScanOperator(
task_id="run_dataplex_dq_scan",
project_id="PROJECT_ID",
region="REGION",
data_scan_id="DATASCAN_ID",
)
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
REGION: האזור ב- Google Cloud שבו נוצרה סריקת איכות הנתונים. -
DATASCAN_ID: המזהה של סריקת איכות הנתונים.
ביטול משימה של סריקת איכות נתונים
אם משימת סריקה של איכות הנתונים פועלת יותר זמן מהצפוי או שהיא הופעלה עם הגדרה שגויה, אתם יכולים לבטל אותה. הפעולה הזו מתבצעת כמיטב היכולת.
אם המשימה כבר נמצאת במצב סופי (כמו SUCCEEDED או FAILED), המערכת מתעלמת מבקשת הביטול.
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאות שנדרשות לביטול משימה של סריקת איכות נתונים, בקשו מהאדמין להקצות לכם את התפקיד Dataplex Editor (roles/dataplex.editor) או Dataplex DataScan Administrator (roles/dataplex.dataScanAdmin) ב-IAM בפרויקט.
ביטול משימה
אתם יכולים לבטל משימת סריקה של איכות נתונים שפועלת או בהמתנה באמצעות ה-API בארכיטקטורת REST.
המסוף
במסוף Google Cloud , נכנסים לדף Data profiling & quality.
לוחצים על השם של סריקת איכות הנתונים שמכילה את המשימה שרוצים לבטל.
בכרטיסייה Job history, מאתרים את המשימה שהסטטוס שלה הוא Running או Pending.
לוחצים על ביטול ליד המשימה.
REST
משתמשים ב-projects.locations.dataScans.jobs.cancel.
POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN_ID/jobs/JOB_ID:cancel
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
LOCATION: האזור שבו נמצאת סריקת הנתונים. -
DATASCAN_ID: המזהה של סריקת הנתונים. -
JOB_ID: המזהה של המשימה שרוצים לבטל.
צפייה בתוצאות הסריקה של איכות הנתונים
המסוף
במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.
לוחצים על השם של סריקת איכות הנתונים.
בקטע Overview מוצג מידע על הסריקות האחרונות, כולל מתי הסריקה בוצעה, מספר הרשומות שנסרקו בכל סריקה, אם כל בדיקות איכות הנתונים עברו בהצלחה, ואם היו כשלים, מספר בדיקות איכות הנתונים שנכשלו.
בקטע הגדרות סריקת איכות הנתונים מוצגים פרטים על הסריקה.
כדי לראות מידע מפורט על משימה, כמו ציוני איכות הנתונים שמציינים את אחוז הכללים שעברו, אילו כללים נכשלו ויומני המשימות, לוחצים על הכרטיסייה היסטוריית משימות. לאחר מכן לוחצים על מזהה משימה.
gcloud
כדי לראות את התוצאות של משימת סריקה של איכות הנתונים, משתמשים בפקודה gcloud dataplex datascans jobs describe:
gcloud dataplex datascans jobs describe JOB \ --location=LOCATION \ --datascan=DATASCAN \ --view=FULL
מחליפים את המשתנים הבאים:
-
JOB: מזהה המשימה של סריקת איכות הנתונים. -
LOCATION: האזור ב- Google Cloud שבו נוצרה סריקת איכות הנתונים. -
DATASCAN: השם של סריקת איכות הנתונים שאליה שייכת המשימה. -
--view=FULL: כדי לראות את התוצאה של משימת הסריקה, מציינים אתFULL.
C#
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
המשך
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Ruby
Ruby
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי לראות את התוצאות של סריקת איכות הנתונים, משתמשים בשיטה dataScans.get.
הצגת התוצאות שפורסמו
אם התוצאות של סריקת איכות הנתונים מתפרסמות כמטא-נתונים של Knowledge Catalog, אתם יכולים לראות את תוצאות הסריקה האחרונות בדפים של BigQuery ו-Knowledge Catalog במסוףGoogle Cloud , בכרטיסייה Data quality של טבלת המקור.
נכנסים לדף Search ב-Knowledge Catalog במסוף Google Cloud .
מחפשים את הטבלה ובוחרים אותה.
לוחצים על הכרטיסייה איכות הנתונים.
התוצאות האחרונות שפורסמו מוצגות.
צפייה בתוצאות של סריקות קודמות
ב-Knowledge Catalog נשמרת היסטוריית סריקות איכות הנתונים של 300 המשימות האחרונות או של השנה האחרונה, המוקדם מביניהם.
המסוף
במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.
לוחצים על השם של סריקת איכות הנתונים.
לוחצים על הכרטיסייה Jobs history.
בכרטיסייה Jobs history מוצג מידע על משימות קודמות, כמו מספר הרשומות שנסרקו בכל משימה, סטטוס המשימה, זמן הרצת המשימה והאם כל כלל עבר או נכשל.
כדי לראות מידע מפורט על משימה, לוחצים על אחת מהמשימות בעמודה Job ID.
gcloud
כדי לראות את המשימות ההיסטוריות של סריקת איכות הנתונים, משתמשים בפקודה gcloud dataplex datascans jobs list:
gcloud dataplex datascans jobs list \ --location=LOCATION \ --datascan=DATASCAN \
מחליפים את המשתנים הבאים:
-
LOCATION: האזור ב- Google Cloud שבו נוצרה סריקת איכות הנתונים. -
DATASCAN: השם של סריקת איכות הנתונים שרוצים לראות את המשימות ההיסטוריות שלה.
C#
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
המשך
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Ruby
Ruby
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי לראות משימות קודמות של סריקות לאיכות הנתונים, משתמשים ב-method dataScans.jobs.list.
סטטוסים של משימות
אלה הסטטוסים האפשריים של משימות סריקת נתונים:
PENDING: המשימה נוצרה אבל עדיין לא התחילה לפעול. במצב הזה, הסריקה מגדירה באופן פעיל תשתית או רוכשת משבצות. השלב הזה יכול להימשך בין 10 ל-20 שניות או יותר, בהתאם למורכבות הסכימה ולתחרות על המשאבים.
RUNNING: המשימה פועלת.
CANCELING: המשימה בתהליך ביטול.
CANCELLED: המשימה בוטלה.
SUCCEEDED: המשימה הושלמה בהצלחה. סטטוס ההשלמה עשוי להופיע באיחור של עד 60 שניות מההשלמה בפועל של השאילתה, בגלל שלבים של עיבוד לאחר השאילתה, כמו צבירה וסנכרון מטא-נתונים.
FAILED: המשימה נכשלה בגלל שגיאה. סטטוס ההשלמה עשוי להופיע באיחור של עד 60 שניות מההשלמה בפועל של השאילתה, בגלל שלבים של עיבוד לאחר השאילתה, כמו צבירה וסנכרון מטא-נתונים.
SUCCEEDED_WITH_ERRORS: המשימה הושלמה, אבל היו כמה שגיאות במהלך הביצוע.
שיטות מומלצות למעקב
כשאתם עוקבים אחרי משימות סריקת הנתונים, חשוב לזכור את השיטות המומלצות הבאות:
הימנעו מסקרים אגרסיביים: הימנעו מסקרים אגרסיביים (לדוגמה, קריאה ל-
GetJobאו לפונקציה מקבילה כל 1 עד 5 שניות). דגימה אגרסיבית מבזבזת את מכסת ה-API ולא מאיצה את מעברי המצבים.שימוש בהשהיה מעריכית לפני ניסיון חוזר (exponential backoff): אם אי אפשר להימנע מדגימה חוזרת, צריך להשתמש בהשהיה מעריכית לפני ניסיון חוזר (exponential backoff) שמתחילה ב-10 עד 15 שניות.
שימוש בהפרדה אסינכרונית מבוססת-אירועים (מומלץ): במקום דגימת API סינכרונית, משתמשים בטריגרים של Eventarc שמאזינים ליומני הביקורת של Cloud (
cloudaudit.googleapis.com). אפשר להשתמש בטריגרים האלה כדי להתחיל תהליכי עבודה במורד הזרם מיד אחרי אירועי השלמת המשימות של DataScan. הגישה הזו עוקפת את מגבלות הסקרים של ה-API, חוסכת במכסות ומפחיתה את זמן האחזור.
מתן גישה לתוצאות של סריקת איכות הנתונים
כדי לאפשר למשתמשים בארגון לראות את תוצאות הסריקה:
במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.
לוחצים על סריקת איכות הנתונים שרוצים לשתף את התוצאות שלה.
לוחצים על הכרטיסייה Permissions.
מבצעים את הפעולות הבאות:
- כדי לתת גישה לחשבון משתמש, לוחצים על Grant access. מקצים את התפקיד Dataplex DataScan DataViewer לחשבון המשתמש המשויך.
- כדי להסיר את הגישה מחשבון משתמש, בוחרים את החשבון שרוצים להסיר ממנו את התפקיד Dataplex DataScan DataViewer. לוחצים על הסרת הגישה ומאשרים את הפעולה.
הגדרת התראות ב-Logging
כדי להגדיר התראות על כשלים באיכות הנתונים באמצעות היומנים ב-Cloud Logging:
המסוף
במסוף Google Cloud , נכנסים לדף Logs Explorer שב-Logging.
בחלון Query, מזינים את השאילתה. שאילתות לדוגמה
לוחצים על Run query.
לוחצים על יצירת התראה. תיפתח חלונית צדדית.
מזינים את שם מדיניות ההתראות ולוחצים על הבא.
בודקים את השאילתה.
כדי לבדוק את השאילתה, לוחצים על Preview logs. כאן מוצגים יומנים עם תנאים תואמים.
לוחצים על הבא.
מגדירים את הזמן בין ההתראות ולוחצים על הבא.
מגדירים למי תישלח ההתראה ולוחצים על שמירה כדי ליצור את מדיניות ההתראות.
לחלופין, אפשר להגדיר ולערוך את ההתראות במסוףGoogle Cloud , בקטע Monitoring > Alerting.
gcloud
לא נתמך.
REST
שאילתות לדוגמה להגדרת התראות ברמת המשימה או ברמת המאפיין
שאילתה לדוגמה להגדרת התראות על כשלים באיכות הנתונים הכוללת בסריקה של איכות הנתונים:
resource.type="dataplex.googleapis.com/DataScan" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND resource.labels.datascan_id="a0-test-dec6-dq-3" AND NOT jsonPayload.dataQuality.passed=trueשאילתה לדוגמה להגדרת התראות על כשלים באיכות הנתונים של מאפיין (לדוגמה, ייחודיות) בסריקה נתונה של איכות הנתונים:
resource.type="dataplex.googleapis.com/DataScan" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND resource.labels.datascan_id="a0-test-dec6-dq-3" AND jsonPayload.dataQuality.dimensionPassed.UNIQUENESS=falseשאילתה לדוגמה להגדרת התראות על כשלים באיכות הנתונים בטבלה.
הגדרת התראות על כשלים באיכות הנתונים בטבלה ב-BigQuery שלא מאורגנת ב-Knowledge Catalog Lake:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.dataSource="//bigquery.googleapis.com/projects/test-project/datasets/testdataset/table/chicago_taxi_trips" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND NOT jsonPayload.dataQuality.passed=trueהגדרת התראות על כשלים באיכות הנתונים בטבלה ב-BigQuery שמאורגנת ב-Knowledge Catalog Lake:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.dataSource="projects/test-project/datasets/testdataset/table/chicago_taxi_trips" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND NOT jsonPayload.dataQuality.passed=true
שאילתות לדוגמה להגדרת התראות לכל כלל
שאילתה לדוגמה להגדרת התראות בכל הכללים שנכשלו לאיכות הנתונים, עם שם הכלל המותאם אישית שצוין לסריקת איכות הנתונים:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.ruleName="custom-name" AND jsonPayload.result="FAILED"שאילתה לדוגמה להגדרת התראות על כל הכללים של איכות הנתונים שנכשלו בסוג הערכה ספציפי של סריקת איכות נתונים:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.evalutionType="PER_ROW" AND jsonPayload.result="FAILED"שאילתה לדוגמה להגדרת התראות על כל הכללים לאיכות הנתונים שנכשלו בעמודה בטבלה שמשמשת לסריקת איכות הנתונים:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.column="CInteger" AND jsonPayload.result="FAILED"
פתרון בעיות שקשורות לאיכות הנתונים
לכל משימה עם כללים ברמת השורה שנכשלו, Knowledge Catalog מספק שאילתה כדי לקבל את הרשומות שנכשלו. מריצים את השאילתה הזו כדי לראות את הרשומות שלא תואמות לכלל.
המסוף
במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.
לוחצים על השם של סריקת איכות הנתונים שרוצים לפתור בעיות ברשומות שלה.
לוחצים על הכרטיסייה Jobs history.
לוחצים על מזהה המשימה שבה זוהו כשלים באיכות הנתונים.
בחלון תוצאות המשימה שנפתח, בקטע Rules, מאתרים את העמודה Query to get failed records. לוחצים על Copy query to clipboard בכלל שנכשל.
מריצים את השאילתה ב-BigQuery כדי לראות את הרשומות שגרמו למשימה להיכשל.
gcloud
לא נתמך.
REST
כדי לקבל את המשימה שזיהתה את הכשלים באיכות הנתונים, משתמשים ב-method
dataScans.get.באובייקט התגובה, השאילתה מופיעה בשדה
failingRowsQuery.מריצים את השאילתה ב-BigQuery כדי לראות את הרשומות שגרמו למשימה להיכשל.
ב-Knowledge Catalog מופעלת גם שאילתת ניפוי הבאגים, בתנאי שהיא נכללה במהלך יצירת הכלל. תוצאות השאילתה לניפוי באגים נכללות בפלט של כל כלל. התכונה הזו נמצאת בגרסת טרום-השקה (Preview).
המסוף
לא נתמך.
gcloud
לא נתמך.
REST
כדי לקבל את המשימה שזיהתה את הכשלים באיכות הנתונים, משתמשים ב-method dataScans.get.
באובייקט התגובה, השדה debugQueriesResultSets מציג את התוצאות של שאילתות ניפוי הבאגים.
ניהול סריקות של איכות הנתונים בטבלה ספציפית
השלבים במאמר הזה מראים איך לנהל את סריקות פרופיל הנתונים בפרויקט באמצעות הדף Data profiling & quality של Knowledge Catalog במסוף Google Cloud .
אתם יכולים גם ליצור ולנהל סריקות של פרופילי נתונים כשאתם עובדים עם טבלה ספציפית. במסוף Google Cloud , בדף Knowledge Catalog של הטבלה, משתמשים בכרטיסייה איכות הנתונים. מבצעים את הפעולות הבאות:
נכנסים לדף Search של Knowledge Catalog במסוף Google Cloud .
מחפשים את הטבלה ובוחרים אותה.
לוחצים על הכרטיסייה איכות הנתונים.
בהתאם לשאלה אם לטבלה יש סריקת איכות נתונים שהתוצאות שלה מתפרסמות כמטא-נתונים של Knowledge Catalog, אתם יכולים לעבוד עם סריקות איכות הנתונים של הטבלה בדרכים הבאות:
תוצאות הסריקה של איכות הנתונים מתפרסמות: תוצאות הסריקה האחרונות מוצגות בדף.
כדי לנהל את סריקות איכות הנתונים של הטבלה, לוחצים על Data quality scan ובוחרים אחת מהאפשרויות הבאות:
יצירת סריקה חדשה: יצירת סריקה חדשה של איכות הנתונים. מידע נוסף מופיע בקטע יצירת סריקה של איכות הנתונים במאמר הזה. כשיוצרים סריקה מדף הפרטים של הטבלה, הטבלה נבחרת מראש.
הפעלה מיידית: הפעלת הסריקה.
עריכת הגדרות הסריקה: עריכת ההגדרות, כולל השם המוצג, המסננים ולוח הזמנים.
כדי לערוך את הכללים של איכות הנתונים, בכרטיסייה Data quality לוחצים על הכרטיסייה Rules. לוחצים על שינוי כללים. מעדכנים את הכללים ולוחצים על שמירה.
ניהול הרשאות הסריקה: אתם יכולים לקבוע למי תהיה גישה לתוצאות הסריקה. למידע נוסף, קראו את הקטע מתן גישה לתוצאות של סריקת איכות הנתונים במאמר הזה.
View historical results: הצגת מידע מפורט על משימות קודמות של סריקת איכות הנתונים. מידע נוסף זמין בקטעים הצגת תוצאות של סריקות לאיכות הנתונים והצגת תוצאות של סריקות היסטוריות במסמך הזה.
View all scans: הצגת רשימה של סריקות איכות הנתונים שחלות על הטבלה הזו.
תוצאות הסריקה של איכות הנתונים לא מתפרסמות: בוחרים מבין האפשרויות הבאות:
יצירת סריקה של איכות הנתונים: יצירת סריקה חדשה של איכות הנתונים. מידע נוסף מופיע בקטע יצירת סריקה של איכות הנתונים במאמר הזה. כשיוצרים סריקה מדף הפרטים של הטבלה, הטבלה נבחרת מראש.
thought View existing scans: הצגת רשימה של סריקות איכות הנתונים שחלות על הטבלה הזו.
עדכון סריקה של איכות הנתונים
אתם יכולים לערוך הגדרות שונות של סריקה קיימת של איכות הנתונים, כמו השם המוצג, המסננים, לוח הזמנים והכללים של איכות הנתונים.
המסוף
במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.
לוחצים על השם של סריקת איכות הנתונים.
כדי לערוך את ההגדרות, כולל השם המוצג, המסננים ולוח הזמנים, לוחצים על Edit. עורכים את הערכים ולוחצים על שמירה.
כדי לערוך את הכללים של איכות הנתונים, לוחצים על הכרטיסייה Current rules בדף פרטי הסריקה. לוחצים על שינוי כללים. מעדכנים את הכללים ולוחצים על שמירה.
gcloud
כדי לעדכן את התיאור של סריקת איכות נתונים, משתמשים בפקודה gcloud dataplex datascans update data-quality:
gcloud dataplex datascans update data-quality DATASCAN \ --location=LOCATION \ --description=DESCRIPTION
מחליפים את מה שכתוב בשדות הבאים:
-
DATASCAN: השם של סריקת איכות הנתונים שרוצים לעדכן. -
LOCATION: האזור ב- Google Cloud שבו נוצרה סריקת איכות הנתונים. -
DESCRIPTION: התיאור החדש של סריקת איכות הנתונים.
C#
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
המשך
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Ruby
Ruby
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי לערוך סריקה של איכות הנתונים, משתמשים ב-method dataScans.patch.
מחיקת סריקה של איכות הנתונים
המסוף
המסוף
במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.
לוחצים על הסריקה שרוצים למחוק.
לוחצים על מחיקה ומאשרים את הפעולה כשמוצגת בקשה.
gcloud
gcloud
כדי למחוק סריקה של איכות הנתונים, משתמשים בפקודה gcloud dataplex datascans delete:
gcloud dataplex datascans delete DATASCAN \ --location=LOCATION \ --async
מחליפים את המשתנים הבאים:
-
DATASCAN: השם של סריקת איכות הנתונים שרוצים למחוק. -
LOCATION: האזור ב- Google Cloud שבו נוצרה סריקת איכות הנתונים.
C#
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
המשך
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Python API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Ruby
Ruby
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.
כדי לבצע אימות ב-Knowledge Catalog, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
REST
REST
כדי למחוק סריקה של איכות הנתונים, משתמשים בשיטה dataScans.delete.
המאמרים הבאים
- מדריך ליצירת תהליך עבודה של איכות נתונים באמצעות מדיניות כקוד
- איך מנהלים את הכללים של איכות הנתונים כקוד באמצעות Terraform
- מידע ולמידה על יצירת פרופילים של נתונים
- איך משתמשים ביצירת פרופילים של נתונים