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

Dataproc

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

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

  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

שימוש במחבר Cloud Storage בגרסה 3.0.0 או בגרסאות ישנות יותר מ-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 בחינם