שימוש בקטגוריות עם מרחב שמות היררכי לעומסי עבודה ב-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 Connector או לגרסאות קודמות ל-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 Connector או לגרסאות קודמות ל-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 בחינם