שימוש בקטגוריות עם מרחב שמות היררכי לעומסי עבודה ב-Hadoop

בדף הזה מוסבר איך להשתמש בקטגוריות עם מרחב שמות היררכי לעומסי עבודה של 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 או לגרסאות קודמות ל-2.2.23.

הפעלת החיבור ל-Cloud Storage באשכול

בקטע הזה מוסבר איך להפעיל את חיבור ל-Cloud Storage באשכול Managed Service for Apache Spark ובאשכול Hadoop בניהול עצמי.

Managed Service for Apache Spark

אתם יכולים להשתמש ב-Google Cloud CLI כדי ליצור אשכול Managed Service for Apache Spark ולהפעיל את חיבור ל-Cloud Storage כדי לבצע את פעולות התיקייה.

  1. יוצרים אשכול של Managed Service for Apache Spark באמצעות הפקודה הבאה:

      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 בניהול עצמי כדי לבצע את פעולות התיקייה.

  1. מוסיפים את השורות הבאות לקובץ ההגדרות 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

שימוש בגרסה 3.0.0 של חיבור ל-Cloud Storage או בגרסאות קודמות לגרסה 2.2.23, או השבתת פעולות בתיקיות במרחב שמות היררכי, עלול להוביל למגבלות הבאות:

  • שינוי שם של תיקייה בצורה לא יעילה: שינוי שם של תיקייה ב-Hadoop מתבצע באמצעות פעולות העתקה ומחיקה ברמת האובייקט, שהן איטיות ופחות יעילות מהפעולה הייעודית rename folder.

  • הצטברות של תיקיות ריקות: התיקיות לא נמחקות באופן אוטומטי, ולכן מצטברות תיקיות ריקות בדלי. לצבירה של תיקיות ריקות יכולות להיות ההשפעות הבאות:

    • עלויות האחסון יגדלו אם לא תמחקו אותם באופן מפורש.
    • להאט את פעולות הרשימה ולהגדיל את הסיכון לפסק זמן בפעולות הרשימה.

  • בעיות תאימות: שימוש משולב בגרסאות קודמות ועדכניות של כלי החיבור, או הפעלה והשבתה של פעולות בתיקיות, עלולות לגרום לבעיות תאימות כשמשנים את השם של תיקיות. לצורך המחשה, נבחן את התרחיש הבא שבו נעשה שימוש בשילוב של גרסאות מחבר:

    1. כדי לבצע את המשימות הבאות, צריך להשתמש בגרסה של המחבר ל-Cloud Storage שקודמת לגרסה 2.2.23:

      1. כותבים אובייקטים מתחת לתיקייה foo/.
      2. משנים את השם של התיקייה foo/ ל-bar/. פעולת שינוי השם מעתיקה את האובייקטים שמתחת ל-foo/ ומוחקת אותם, אבל לא מוחקת את התיקייה הריקה foo/.
    2. כדי לשנות את שם התיקייה bar/ ל-foo/, משתמשים בגרסה 2.2.23 של חיבור ל-Cloud Storage עם ההגדרה 'הפעלת פעולות על תיקיות'.

    מחבר בגרסה 2.2.23, עם הפעלת פעולת התיקייה, מזהה את התיקייה הקיימת foo/, ולכן פעולת שינוי השם נכשלת. בגרסה הקודמת של המחבר, התיקייה foo/ לא נמחקה כי פעולת התיקייה הייתה מושבתת.

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

נסו בעצמכם

אנחנו ממליצים למשתמשים חדשים ב-Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של Cloud Storage בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300 $להרצה, לבדיקה ולפריסה של עומסי העבודה.

להתנסות ב-Cloud Storage בחינם