חילוץ מטא-נתונים מ-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:
- במחשב שבו רוצים להריץ את הכלי
dwh-migration-dumper, מורידים את קובץ ה-ZIP ממאגר ה-GitHub של הכליdwh-migration-dumper. כדי לאמת את קובץ ה-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 הורדו מאותה גרסת הפצה והוצבו באותה ספרייה.מחלצים את קובץ ה-ZIP. הקובץ הבינארי של כלי החילוץ נמצא בספריית המשנה
/binשל התיקייה שנוצרה מחילוץ קובץ ה-ZIP.מעדכנים את משתנה הסביבה
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, אפשר להשתמש בקובצי המטא-נתונים האלה כדי: