חילוץ מטא-נתונים מ-Apache Hive לצורך העברה

במאמר הזה מוסבר איך להשתמש בכלי dwh-migration-dumper כדי לחלץ את המטא-נתונים הדרושים לפני שמריצים העברת נתונים או הרשאות של Apache Hive.

במסמך הזה מוסבר על חילוץ מטא-נתונים ממקורות הנתונים הבאים:

  • ‫Apache Hive
  • ‫Apache Hadoop Distributed File System ‏ (HDFS)
  • ‫Apache Ranger
  • Cloudera Manager
  • יומני שאילתות של Apache Hive

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

לפני שמשתמשים בכלי dwh-migration-dumper, צריך לבצע את הפעולות הבאות:

התקנת Java

בשרת שבו אתם מתכננים להריץ את כלי dwh-migration-dumper צריכה להיות מותקנת Java מגרסה 8 ואילך. אם לא, מורידים את Java מדף ההורדות של Java ומתקינים אותה.

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

לחשבון המשתמש שמציינים לחיבור הכלי dwh-migration-dumper למערכת המקור צריכות להיות הרשאות לקריאת מטא-נתונים מהמערכת הזו. צריך לוודא שלחשבון הזה יש חברות בתפקיד המתאים כדי לשלוח שאילתות למשאבי המטא-נתונים שזמינים בפלטפורמה שלכם. לדוגמה, INFORMATION_SCHEMA הוא משאב מטא-נתונים שמשותף לכמה פלטפורמות.

התקנת הכלי dwh-migration-dumper

כדי להתקין את הכלי dwh-migration-dumper:

  1. במחשב שבו רוצים להריץ את הכלי dwh-migration-dumper, מורידים את קובץ ה-ZIP ממאגר ה-GitHub של הכלי dwh-migration-dumper.
  2. כדי לאמת את קובץ ה-ZIP של הכלי dwh-migration-dumper, מורידים את הקובץ SHA256SUMS.txt ומריצים את הפקודה הבאה:

    Bash

    sha256sum --check SHA256SUMS.txt

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

    Windows PowerShell

    (Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]

    מחליפים את RELEASE_ZIP_FILENAME בשם הקובץ של כלי החילוץ משורת הפקודה dwh-migration-dumper שהורד, למשל dwh-migration-tools-v1.0.52.zip

    התוצאה True מאשרת שהאימות של סכום הביקורת הצליח.

    התוצאה False מציינת שגיאת אימות. מוודאים שקובץ ה-checksum וקובץ ה-ZIP הורדו מאותה גרסת הפצה והוצבו באותה ספרייה.

  3. מחלצים את קובץ ה-ZIP. הקובץ הבינארי של כלי החילוץ נמצא בספריית המשנה /bin של התיקייה שנוצרה מחילוץ קובץ ה-ZIP.

  4. מעדכנים את משתנה הסביבה PATH כך שיכלול את נתיב ההתקנה של כלי החילוץ.

חילוץ מטא-נתונים להעברה

כדי ללמוד איך לחלץ מטא-נתונים ממקור הנתונים, בוחרים באחת מהאפשרויות הבאות:

‫Apache Hive

כדי לחלץ את המטא-נתונים של Apache Hive, מבצעים את השלבים שמפורטים בקטע Apache Hive Extract metadata and query logs from your data warehouse (חילוץ מטא-נתונים ויומני שאילתות ממחסן הנתונים). אחר כך אפשר להעלות את המטא-נתונים לקטגוריה של Cloud Storage שמכילה את קובצי ההעברה.

HDFS

מריצים את הפקודה הבאה כדי לחלץ מטא-נתונים מ-HDFS באמצעות הכלי dwh-migration-dumper.

dwh-migration-dumper \
  --connector hdfs \
  --host HDFS-HOST \
  --port HDFS-PORT \
  --output gs://MIGRATION-BUCKET/hdfs-dumper-output.zip \
  --assessment \

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

  • HDFS-HOST: שם המארח של NameNode ב-HDFS
  • HDFS-PORT: מספר היציאה של HDFS NameNode. אפשר לדלג על הארגומנט הזה אם משתמשים ביציאה 8020 שמוגדרת כברירת מחדל.
  • MIGRATION-BUCKET: קטגוריית Cloud Storage שבה אתם משתמשים לאחסון קובצי ההעברה.

הפקודה הזו מחלצת מטא-נתונים מ-HDFS לקובץ בשם hdfs-dumper-output.zip בספרייה MIGRATION-BUCKET.

יש כמה מגבלות ידועות כשמחפשים מטא-נתונים ב-HDFS:

  • חלק מהמשימות במחבר הזה הן אופציונליות ויכול להיות שהן ייכשלו. במקרה כזה, יירשם פלט מלא של עקבות מחסנית. כל עוד המשימות הנדרשות הושלמו בהצלחה והקובץ hdfs-dumper-output.zip נוצר, אפשר להמשיך בהעברה של HDFS.
  • אם גודל מאגר השרשורים שהוגדר גדול מדי, יכול להיות שתהליך החילוץ ייכשל או יפעל לאט מהצפוי. אם אתם נתקלים בבעיות האלה, מומלץ להקטין את גודל מאגר השרשורים באמצעות ארגומנט שורת הפקודה --thread-pool-size.

‫Apache Ranger

מריצים את הפקודה הבאה כדי לחלץ מטא-נתונים מ-Apache Ranger באמצעות הכלי dwh-migration-dumper.

dwh-migration-dumper \
  --connector ranger \
  --host RANGER-HOST \
  --port 6080 \
  --user RANGER-USER \
  --password RANGER-PASSWORD \
  --ranger-scheme RANGER-SCHEME \
  --output gs://MIGRATION-BUCKET/ranger-dumper-output.zip \
  --assessment \

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

  • RANGER-HOST: שם המארח של מופע Apache Ranger
  • RANGER-USER: שם המשתמש של משתמש Apache Ranger
  • RANGER-PASSWORD: הסיסמה של המשתמש ב-Apache Ranger
  • RANGER-SCHEME: מציינים אם Apache Ranger משתמש ב-http או ב-https. ערך ברירת המחדל הוא http.
  • MIGRATION-BUCKET: קטגוריית Cloud Storage שבה אתם משתמשים לאחסון קובצי ההעברה.

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

  • --kerberos-auth-for-hadoop: מחליף את --user ואת --password, אם Apache Ranger מוגן על ידי Kerberos במקום אימות בסיסי. כדי להשתמש בדגל הזה, צריך להריץ את הפקודה kinit לפני השימוש בכלי dwh-migration-dumper.
  • --ranger-disable-tls-validation: כוללים את הדגל הזה אם אישור ה-https שמשמש את ה-API הוא בחתימה עצמית. לדוגמה, כשמשתמשים ב-Cloudera.

הפקודה הזו מחלצת מטא-נתונים מ-Apache Ranger לקובץ בשם ranger-dumper-output.zip בספרייה MIGRATION-BUCKET.

Cloudera

מריצים את הפקודה הבאה כדי לחלץ מטא-נתונים מ-Cloudera באמצעות הכלי dwh-migration-dumper.

dwh-migration-dumper \
  --connector cloudera-manager \
  --url CLOUDERA-URL \
  --user CLOUDERA-USER \
  --password CLOUDERA-PASSWORD \
  --output gs://MIGRATION-BUCKET/cloudera-dumper-output.zip \
  --yarn-application-types APPLICATION-TYPES \
  --pagination-page-size PAGE-SIZE \
  --assessment \

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

  • CLOUDERA-URL: כתובת ה-URL של Cloudera Manager
  • CLOUDERA-USER: שם המשתמש של משתמש Cloudera
  • CLOUDERA-PASSWORD: הסיסמה של המשתמש ב-Cloudera
  • MIGRATION-BUCKET: קטגוריית Cloud Storage שבה אתם משתמשים לאחסון קובצי ההעברה.
  • APPLICATION-TYPES: (אופציונלי) רשימה של כל סוגי האפליקציות הקיימים מ-Hadoop YARN. לדוגמה, SPARK, MAPREDUCE.
  • PAGE-SIZE: (אופציונלי) מציינים כמה נתונים נשלפים משירותים של צד שלישי, כמו Hadoop YARN API. ערך ברירת המחדל הוא 1000, שמייצג 1,000 ישויות לכל בקשה.

הפקודה הזו מחלצת מטא-נתונים מ-Cloudera לקובץ בשם dwh-migration-cloudera.zip בספרייה MIGRATION-BUCKET.

יומני שאילתות של Apache Hive

כדי לחלץ את יומני השאילתות של Apache Hive, מבצעים את השלבים שבקטע Apache Hive Extract query logs with the hadoop-migration-assessment logging hook. לאחר מכן תוכלו להעלות את היומנים לקטגוריה של Cloud Storage שמכילה את קובצי ההעברה.

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

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