בדף הזה מוסבר איך להשתמש בקטגוריות עם מרחב שמות היררכי לעומסי עבודה של Hadoop.
סקירה כללית
כשמשתמשים בקטגוריה של Cloud Storage עם מרחב שמות היררכי, אפשר להגדיר את המחבר של Cloud Storage כך שישתמש בפעולה rename folder (שינוי שם התיקייה) לעומסי עבודה כמו Hadoop, Spark ו-Hive.
בדלי ללא מרחב שמות היררכי, פעולת שינוי שם ב-Hadoop, ב-Spark וב-Hive כוללת כמה משימות של העתקת אובייקט ומחיקת אובייקט, וזה משפיע על הביצועים ועל העקביות. שינוי השם של תיקייה באמצעות המחבר של Cloud Storage משפר את הביצועים ומבטיח עקביות כשמטפלים בתיקיות עם מספר גדול של אובייקטים.
לפני שמתחילים
כדי להשתמש בתכונות של קטגוריות עם מרחב שמות היררכי, צריך להשתמש בגרסאות הבאות של מחבר Cloud Storage:
- 2.2.23 ואילך (אם אתם משתמשים בגרסה 2.x.x)
- 3.0.1 ואילך (אם אתם משתמשים בגרסה 3.x.x)
יש מגבלות בגרסאות ישנות יותר של כלי החיבור (3.0.0 וגרסאות ישנות יותר מ-2.2.23). מידע נוסף על המגבלות זמין במאמר תאימות לגרסה 3.0.0 של Cloud Storage Connector או לגרסאות ישנות יותר מ-2.2.23.
הפעלת המחבר של Cloud Storage באשכול
בקטע הזה מוסבר איך להפעיל את מחבר Cloud Storage באשכול Dataproc ובאשכול Hadoop בניהול עצמי.
Dataproc
אתם יכולים להשתמש ב-Google Cloud CLI כדי ליצור אשכול Dataproc ולהפעיל את המחבר של Cloud Storage כדי לבצע את פעולות התיקייה.
יוצרים אשכול Dataproc באמצעות הפקודה הבאה:
gcloud dataproc clusters create CLUSTER_NAME --properties=core:fs.gs.hierarchical.namespace.folders.enable=true, core:fs.gs.http.read-timeout=30000
כאשר:
-
CLUSTER_NAMEהוא שם האשכול. לדוגמה,my-cluster - התג
fs.gs.hierarchical.namespace.folders.enableמשמש להפעלת מרחב שמות היררכי בקטגוריה.
fs.gs.http.read-timeoutהוא משך הזמן המרבי המותר, באלפיות השנייה, לקריאת נתונים מחיבור קיים. זו הגדרה אופציונלית.
-
Hadoop בניהול עצמי
אתם יכולים להפעיל את המחבר של Cloud Storage באשכול Hadoop בניהול עצמי כדי לבצע את הפעולות בתיקייה.
מוסיפים את השורות הבאות לקובץ התצורה core-site.xml:
<property> <name>fs.gs.hierarchical.namespace.folders.enable</name> <value>true</value> </property> <property> <name>fs.gs.http.read-timeout</name> <value>30000</value> </property>כאשר:
-
fs.gs.hierarchical.namespace.folders.enableמשמש להפעלת מרחב שמות היררכי בקטגוריה
fs.gs.http.read-timeoutהוא משך הזמן המרבי המותר, באלפיות השנייה, לקריאת נתונים מחיבור קיים. זו הגדרה אופציונלית.
-
תאימות לגרסה 3.0.0 של מחבר Cloud Storage או לגרסאות ישנות יותר מ-2.2.23
שימוש במחבר Cloud Storage בגרסה 3.0.0 או בגרסאות ישנות יותר מ-2.2.23, או השבתת פעולות בתיקיות במרחב שמות היררכי, עלול להוביל למגבלות הבאות:
שינוי שם של תיקיות בצורה לא יעילה: שינוי שם של תיקיות ב-Hadoop מתבצע באמצעות פעולות העתקה ומחיקה ברמת האובייקט, שהן איטיות ופחות יעילות מהפעולה הייעודית
rename folder.הצטברות של תיקיות ריקות: התיקיות לא נמחקות באופן אוטומטי, ולכן מצטברות תיקיות ריקות בדלי. הצטברות של תיקיות ריקות עלולה להשפיע על:
- העלויות של האחסון יגדלו אם לא תמחקו אותם באופן מפורש.
להאט את פעולות הרשימה ולהגדיל את הסיכון לפסק זמן בפעולות הרשימה.
בעיות תאימות: שימוש משולב בגרסאות ישנות וחדשות של המחבר, או הפעלה והשבתה של פעולות בתיקיות, עלולות לגרום לבעיות תאימות כשמשנים את השם של תיקיות. לצורך המחשה, נבחן את התרחיש הבא שבו נעשה שימוש בשילוב של גרסאות מחבר:
כדי לבצע את המשימות הבאות, צריך להשתמש בגרסה של מחבר Cloud Storage שקודמת לגרסה 2.2.23:
- כתיבת אובייקטים מתחת לתיקייה
foo/. - משנים את שם התיקייה
foo/ל-bar/. פעולת שינוי השם מעתיקה את האובייקטים שמתחת ל-foo/ומוחקת אותם, אבל לא מוחקת את התיקייה הריקהfoo/.
- כתיבת אובייקטים מתחת לתיקייה
כדי לשנות את שם התיקייה
bar/ל-foo/, משתמשים בגרסה 2.2.23 של המחבר Cloud Storage עם ההגדרה 'פעולות על תיקיות' מופעלת.
גרסה 2.2.23 של המחבר, עם הפעלת פעולת התיקייה, מזהה את התיקייה הקיימת
foo/, ולכן פעולת שינוי השם נכשלת. בגרסה הקודמת של המחבר, התיקייהfoo/לא נמחקה כי הפעולה בתיקייה הייתה מושבתת.
המאמרים הבאים
נסו בעצמכם
אנחנו ממליצים למשתמשים חדשים ב-Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של Cloud Storage בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300 $להרצה, לבדיקה ולפריסה של עומסי העבודה.
להתנסות ב-Cloud Storage בחינם