חילוץ מטא-נתונים מ-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 חילוץ מטא-נתונים ויומני שאילתות ממחסן הנתונים. אחר כך אפשר להעלות את המטא-נתונים לקטגוריה של 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: מספר היציאה של NameNode ב-HDFS. אם משתמשים ביציאה 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, אפשר להשתמש בקובצי המטא-נתונים האלה כדי לבצע את הפעולות הבאות: