הפעלת מעקב אחר מקורות נתונים ב-Hive

במאמר הזה מוסבר איך להפעיל את היסטוריית הנתונים ולהשתמש בה במשימות של 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.

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

  1. במסוף Google Cloud , בדף לבחירת הפרויקט, בוחרים את הפרויקט שמכיל את אשכול Managed Service for Apache Spark שרוצים לעקוב אחרי שושלת הנתונים שלו.

    כניסה לדף לבחירת הפרויקט

  2. מפעילים את Data Lineage API ואת Dataplex API.

    הפעלת ממשקי ה-API

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

כדי לקבל את ההרשאות שדרושות לשימוש במעקב אחר מקורות נתונים ב-Managed Service for Apache Spark, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים ב-חשבון השירות של מכונת ה-VM באשכול Managed Service for Apache Spark:

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

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

הפעלת מעקב אחר מקורות נתונים ב-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

הדוגמה בקטע הזה כוללת את השלבים הבאים:

  1. יוצרים אשכול Managed Service for Apache Spark עם מעקב אחר מקורות נתונים ב-Hive, ומחבר Hive-BigQuery מותקן באשכול.
  2. מריצים שאילתת Hive באשכול כדי להעתיק נתונים בין טבלאות Hive.
  3. צפייה בתרשים של שושלת הנתונים שנוצר ב-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

הערות:

הרצת שאילתת Hive

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

  • יצירת טבלה חיצונית us_states עם קלט של נתונים לדוגמה מ-gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout.
  • יצירת טבלה מנוהלת us_states_copy במערך הנתונים שצוין ב-BigQuery.
  • מעתיקים את כל הנתונים מ-us_states אל us_states_copy.

כדי להריץ את השאילתה:

  1. בחלון טרמינל מקומי או ב-Cloud Shell, משתמשים בעורך טקסט, כמו vi או nano, כדי להעתיק את הצהרת השאילתה הבאה של Hive לקובץ hive-example.sql, ואז שומרים את הקובץ בספרייה הנוכחית.
  2. שולחים את הקובץ 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

תרשים של שרשרת הנתונים ב-Hive

מידע על הצגת גרפים ב-BigQuery Studio זמין במאמר בנושא צפייה בשושלת נתונים ב-BigQuery. למידע על הבנת התרשימים, אפשר לעיין במאמר מודל המידע של שרשרת מקורות הנתונים.

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