חילוץ מטא-נתונים מ-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 צריכה להיות מותקנת גרסה 8 ומעלה של Java. אם לא, מורידים את 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 בשם קובץ ה-ZIP שהורדתם של גרסת כלי החילוץ של dwh-migration-dumper בשורת הפקודה – לדוגמה, dwh-migration-tools-v1.0.52.zip

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

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

מבצעים את השלבים שבקטע חילוץ יומני שאילתות באמצעות ה-hook של הרישום ביומן של hadoop-migration-assessment במאמר על Apache Hive כדי לחלץ את יומני השאילתות של Apache Hive. אחר כך אפשר להעלות את היומנים לקטגוריה של Cloud Storage שמכילה את קובצי ההעברה.

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

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