במאמר הזה מוסבר איך להפעיל את היסטוריית הנתונים ולהשתמש בה במשימות של Apache Spark Hive ב-Managed Service for Apache Spark.
כדי להפעיל את מעקב מקורות הנתונים ב-Managed Service for Apache Spark למשימות Apache Spark Hive, צריך להשתמש בפעולת אתחול כשיוצרים אשכול.
כשמפעילים את תכונת שרשרת המקורות של נתוני Hive באשכול, משימות Hive ששולחים לאשכול מתעדות אירועים של שרשרת מקורות נתונים ומפרסמות אותם בKnowledge Catalog.
המחשת מידע על שושלת נתונים
בתרשים של שושלת הנתונים מוצגים הקשרים בין משאבי הפרויקט לבין התהליכים שיצרו אותם. אפשר לגשת לתרשימי שושלת באמצעות Knowledge Catalog, BigQuery Studio ו-Vertex AI במסוף Google Cloud .
תמחור
Managed Service for Apache Spark Hive data lineage מוצע במהלך תקופת התצוגה המקדימה ללא תשלום נוסף. חל התמחור הרגיל של Managed Service for Apache Spark.
לפני שמתחילים
במסוף Google Cloud , בדף לבחירת הפרויקט, בוחרים את הפרויקט שמכיל את אשכול Managed Service for Apache Spark שרוצים לעקוב אחרי שושלת הנתונים שלו.
מפעילים את Data Lineage API ואת Dataplex API.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לשימוש במעקב אחר מקורות נתונים ב-Managed Service for Apache Spark, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים ב-חשבון השירות של מכונת ה-VM באשכול Managed Service for Apache Spark:
-
צפייה בתיעוד מקורות הנתונים ב-Knowledge Catalog או שימוש ב-Data Lineage API:
צפייה בתיעוד מקורות הנתונים (
roles/datalineage.viewer) -
יצירת שושלת נתונים באופן ידני באמצעות ה-API:
Data Lineage Events Producer (
roles/datalineage.producer) -
עריכת שושלת הנתונים באמצעות ה-API:
Data Lineage Editor (
roles/datalineage.editor) -
ביצוע כל הפעולות בשושלת הנתונים:
אדמין של שושלת נתונים (
roles/datalineage.admin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הפעלת מעקב אחר מקורות נתונים ב-Hive
כדי להפעיל את מעקב המקורות של נתוני Hive באשכול, צריך לציין את hive-lineage.sh
פעולת האתחול כשיוצרים אשכול של Managed Service for Apache Spark.
פעולת האתחול הזו מאוחסנת בקטגוריות אזוריות ב-Cloud Storage.
דוגמה ליצירת אשכול באמצעות ה-CLI של gcloud:
gcloud dataproc clusters create CLUSTER_NAME \
--project PROJECT_ID \
--region REGION \
--image-version IMAGE_VERSION \
--initialization-actions gs://goog-dataproc-initialization-actions-REGION/hive-lineage/hive-lineage.shמחליפים את מה שכתוב בשדות הבאים:
- CLUSTER_NAME: שם האשכול.
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי הפרויקטים מופיעים בקטע Project info בלוח הבקרה של מסוף Google Cloud .
- REGION: האזור של Compute Engine שבו נמצא האשכול.
- IMAGE_VERSION גרסת התמונה המיועדת לקבוצה.
-
--initialization-actions: מציין פעולת התקנה שנמצאת במיקום אזורי ב-Cloud Storage, שמאפשרת מעקב אחר מקורות נתונים ב-Hive.- אפשר להוסיף פעולת אתחול של מחבר Hive-BigQuery. אם רוצים לשלב טבלאות BigQuery עם עומסי עבודה של Hive, צריך להתקין את המחבר Hive-BigQuery באשכול. אפשר לעיין בדוגמה של שושלת נתונים ב-Hive עם BigQuery, שבה מופעלת פעולת אתחול של מחבר כדי להתקין את המחבר Hive-BigQuery באשכול.
שליחת עבודת Hive
כששולחים משימת Hive לאשכול Managed Service for Apache Spark שנוצר עם הפעלה של מעקב מקורות נתונים של Hive, שירות Managed Service for Apache Spark מתעד את פרטי מעקב מקורות הנתונים ומדווח עליהם ל-Knowledge Catalog.
דוגמה לשליחת משימת Hive באמצעות ה-CLI של gcloud:
gcloud dataproc jobs submit hive \
--cluster=CLUSTER_NAME \
--project PROJECT_ID \
--region REGION \
--properties=hive.openlineage.namespace=CUSTOM_NAMESPACE \
--execute HIVE_QUERYמחליפים את מה שכתוב בשדות הבאים:
- CLUSTER_NAME: שם האשכול.
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי הפרויקטים מופיעים בקטע Project info בלוח הבקרה של מסוף Google Cloud .
- REGION: האזור של Compute Engine שבו נמצא האשכול.
- CUSTOM_NAMESPACE: מרחב שמות אופציונלי של Hive בהתאמה אישית שאפשר לציין כדי לזהות את עבודת ה-Hive.
- HIVE_QUERY: שאילתת Hive לשליחה לאשכול.
במקום לציין שאילתה, אפשר להחליף את הדגל
--execute HIVE_QUERYבדגל--file SQL_FILEכדי לציין את המיקום של קובץ שמכיל את השאילתה.
הצגת שושלת נתונים ב-Knowledge Catalog
בתרשים שושלת מוצגים הקשרים בין משאבי הפרויקט לבין התהליכים שיצרו אותם. אפשר לצפות במידע על שרשרת מקורות הנתונים במסוף Google Cloud , או לאחזר אותו מ-Data Lineage API בפורמט JSON.
הצגת מקורות נתונים ב-Hive עם דוגמה ל-BigQuery
הדוגמה בקטע הזה כוללת את השלבים הבאים:
- יוצרים אשכול Managed Service for Apache Spark עם מעקב אחר מקורות נתונים ב-Hive, ומחבר Hive-BigQuery מותקן באשכול.
- מריצים שאילתת Hive באשכול כדי להעתיק נתונים בין טבלאות Hive.
- צפייה בתרשים של שושלת הנתונים שנוצר ב-BigQuery Studio.
יצירת אשכול Managed Service for Apache Spark
מריצים את הפקודה הבאה בחלון טרמינל מקומי או ב-Cloud Shell כדי ליצור אשכול Managed Service for Apache Spark.
gcloud dataproc clusters create CLUSTER_NAME \ --project PROJECT_ID \ --region REGION \ --image-version IMAGE_VERSION \ --initialization-actions gs://goog-dataproc-initialization-actions-REGION/connectors/connectors.sh, gs://goog-dataproc-initialization-actions-REGION/hive-lineage/hive-lineage.sh \ --metadata hive-bigquery-connector-version=HIVE_BQ_VERSION
הערות:
- CLUSTER_NAME: שם האשכול.
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי הפרויקטים מופיעים בקטע Project info בלוח הבקרה של מסוף Google Cloud .
- REGION: האזור של Compute Engine שבו נמצא האשכול.
- IMAGE_VERSION גרסת התמונה המיועדת לקבוצה.
-
--initialization-actions: פעולות ההתקנה האלה, שנמצאות ב-Cloud Storage, מתקינות את המחבר Hive-BigQuery ומפעילות את המעקב אחר מקורות נתונים ב-Hive. - HIVE_BQ_VERSION: מציינת את הגרסה של מחבר Hive-BigQuery.
הדגל
--metadataמעביר את הגרסה אל פעולת האתחולconnectors.shכדי להתקין את המחבר Hive-BigQuery באשכול.
הרצת שאילתת Hive
מריצים שאילתת Hive כדי לבצע את הפעולות הבאות:
- יצירת טבלה חיצונית
us_statesעם קלט של נתונים לדוגמה מ-gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout. - יצירת טבלה מנוהלת
us_states_copyבמערך הנתונים שצוין ב-BigQuery. - מעתיקים את כל הנתונים מ-
us_statesאלus_states_copy.
כדי להריץ את השאילתה:
- בחלון טרמינל מקומי או ב-Cloud Shell, משתמשים בעורך טקסט, כמו
viאוnano, כדי להעתיק את הצהרת השאילתה הבאה של Hive לקובץhive-example.sql, ואז שומרים את הקובץ בספרייה הנוכחית. - שולחים את הקובץ
hive-example.sqlאל אשכול Managed Service for Apache Spark שנוצר קודם. מחליפים את הדגל--execute HIVE_QUERYבדגל--file SQL_FILEכדי לציין את המיקום של הקובץhive-example.sqlשנשמר. חשוב לזכור שצריך לאכלס את המשתנים PROJECT ו-BQ_DATASET.
Hive BigQueryStorageHandler
CREATE EXTERNAL TABLE us_states ( name STRING, post_abbr STRING ) STORED AS PARQUET LOCATION 'gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout'; CREATE TABLE us_states_copy ( name STRING, post_abbr STRING ) STORED BY 'com.google.cloud.hive.bigquery.connector.BigQueryStorageHandler' TBLPROPERTIES ( 'bq.table'='PROJECT.BQ_DATASET.us_states_copy' ); INSERT INTO us_states_copy SELECT * FROM us_states;
הצגת הגרף של שרשרת מקורות הנתונים
אחרי שהעבודה ב-Hive מסתיימת בהצלחה, אפשר לראות את שושלת הנתונים ב-BigQuery Studio במסוף: Google Cloud
מידע על הצגת גרפים ב-BigQuery Studio זמין במאמר בנושא צפייה בשושלת נתונים ב-BigQuery. למידע על הבנת התרשימים, אפשר לעיין במאמר מודל המידע של שרשרת מקורות הנתונים.