HDFS

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

גרסאות נתמכות

המחבר הזה תומך ב-HDFS Hadoop גרסה 3.4.0.

לפני שמתחילים

לפני שמשתמשים במחבר HDFS, צריך לבצע את המשימות הבאות:

  • בפרויקט שלכם ב-Google Cloud:
    • נותנים למשתמש שמגדיר את המחבר את תפקיד ה-IAM‏ roles/connectors.admin.
    • מקצים לחשבון השירות שרוצים להשתמש בו עבור המחבר את תפקידי ה-IAM הבאים:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

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

    • מפעילים את השירותים הבאים:
      • ‫secretmanager.googleapis.com (Secret Manager API)
      • ‫connectors.googleapis.com (Connectors API)

      במאמר הפעלת שירותים מוסבר איך להפעיל שירותים.

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

הגדרת המחבר

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

  1. במסוף Cloud, עוברים לדף Integration Connectors > Connections ובוחרים או יוצרים פרויקט בענן.

    כניסה לדף Connections

  2. לוחצים על + יצירת חיבור חדש כדי לפתוח את הדף יצירת חיבור.
  3. בקטע מיקום, בוחרים את המיקום של החיבור.
    1. אזור: בוחרים מיקום מהרשימה הנפתחת.

      רשימה של כל האזורים הנתמכים מופיעה במאמר מיקומים.

    2. לוחצים על הבא.
  4. בקטע פרטי החיבור, ממלאים את הפרטים הבאים:
    1. Connector (מחבר): בוחרים באפשרות HDFS מהרשימה הנפתחת של המחברים הזמינים.
    2. גרסת כלי החיבור: בוחרים את גרסת כלי החיבור מהרשימה הנפתחת של הגרסאות הזמינות.
    3. בשדה Connection Name (שם החיבור), מזינים שם למופע החיבור.

      השמות של החיבורים צריכים לעמוד בקריטריונים הבאים:

      • שמות החיבורים יכולים לכלול אותיות, מספרים או מקפים.
      • האותיות צריכות להיות קטנות.
      • שמות החיבורים צריכים להתחיל באות ולהסתיים באות או במספר.
      • שמות החיבורים לא יכולים לכלול יותר מ-49 תווים.
    4. אופציונלי: מזינים תיאור למופע החיבור.
    5. אופציונלי: מפעילים את Cloud Logging ואז בוחרים רמת יומן. כברירת מחדל, רמת היומן מוגדרת כ-Error.
    6. חשבון שירות: בוחרים חשבון שירות שיש לו את התפקידים הנדרשים.
    7. ‫Path (נתיב): מציינים את נתיב HDFS שבו רוצים להשתמש כספריית העבודה.
    8. אופציונלי: מגדירים את ההגדרות של צומת החיבור:

      • מספר מינימלי של צמתים: מזינים את המספר המינימלי של צמתי חיבור.
      • מספר הצמתים המקסימלי: מזינים את מספר צמתי החיבור המקסימלי.

      צומת הוא יחידה (או עותק) של חיבור שמבצעת עיבוד של עסקאות. כדי לעבד יותר עסקאות לחיבור נדרשים יותר צמתים, ולהפך: כדי לעבד פחות עסקאות נדרשים פחות צמתים. כדי להבין איך הצמתים משפיעים על התמחור של המחבר, אפשר לעיין במאמר בנושא תמחור של צמתי חיבור. אם לא מזינים ערכים, כברירת מחדל, מספר הצמתים המינימלי מוגדר כ-2 (לזמינות טובה יותר) ומספר הצמתים המקסימלי מוגדר כ-50.

    9. אופציונלי: לוחצים על + הוספת תווית כדי להוסיף תווית לקישור בצורה של צמד מפתח/ערך.
    10. לוחצים על הבא.
  5. בקטע יעדים, מזינים את הפרטים של המארח המרוחק (מערכת העורף) שאליו רוצים להתחבר.
    1. סוג היעד: בוחרים סוג יעד.
      • כדי לציין את שם המארח או את כתובת ה-IP של היעד, בוחרים באפשרות כתובת המארח ומזינים את הכתובת בשדה מארח 1.
      • כדי ליצור חיבור פרטי, בוחרים באפשרות Endpoint attachment (צירוף נקודת קצה). ברשימה Endpoint Attachment, בוחרים את קובץ ה-Endpoint Attachment שנוצר עבור מערכת ה-Backend.

      אם רוצים ליצור חיבור ציבורי למערכות העורפיות עם אבטחה נוספת, אפשר להגדיר כתובות IP סטטיות יוצאות לחיבורים, ואז להגדיר את כללי חומת האש כך שרק כתובות ה-IP הסטטיות הספציפיות יופיעו ברשימת ההיתרים.

      כדי להזין יעדים נוספים, לוחצים על +הוספת יעד.

    2. לוחצים על הבא.
  6. בקטע אימות, מזינים את פרטי האימות.
    1. בוחרים סוג אימות ומזינים את הפרטים הרלוונטיים.

      חיבור HDFS תומך בסוגי האימות הבאים:

      • שם משתמש וסיסמה

      כדי להבין איך להגדיר את סוגי האימות האלה, אפשר לעיין במאמר בנושא הגדרת אימות.

    2. לוחצים על הבא.
  7. בדיקה: בודקים את פרטי החיבור והאימות.
  8. לוחצים על יצירה.

הגדרת אימות

מזינים את הפרטים בהתאם לאימות שבו רוצים להשתמש.

  • שם משתמש וסיסמה
    • שם משתמש: מזינים את שם המשתמש שבו רוצים להשתמש לחיבור ל-HDFS.
    • סיסמה : מזינים את הסוד במנהל הסודות שמכיל את הסיסמה שמשויכת לשם המשתמש.
    • גרסת סוד: בוחרים את גרסת הסוד של הסוד שנבחר למעלה.

דוגמאות להגדרת חיבור

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

סוג החיבור של שם המשתמש והסיסמה

שם השדה פרטים
מיקום europe-west1
מחבר HDFS
גרסת המחבר 1
שם החיבור hdfs-v24-new
חשבון השירות my-service-account@my-project.iam.gserviceaccount.com
מספר הצמתים המינימלי 2
מספר הצמתים המקסימלי 2
סוג היעד כתובת המארח
מארח ‫10.128.0.
port1 10000
שם משתמש user1
סיסמה PASSWORD
Secret Version 1

מגבלות המערכת

מחבר HDFS יכול לעבד עד 20 עסקאות בשנייה, לכל צומת, ומגביל את כל העסקאות שחורגות מהמגבלה הזו. כברירת מחדל, Integration Connectors מקצה 2 צמתים (לזמינות טובה יותר) לחיבור.

מידע על המגבלות שחלות על Integration Connectors זמין במאמר מגבלות.

שימוש בחיבור HDFS בשילוב

אחרי שיוצרים את החיבור, הוא זמין גם ב-Apigee Integration וגם ב-Application Integration. אפשר להשתמש בחיבור בשילוב באמצעות המשימה Connectors.

  • כדי להבין איך ליצור ולהשתמש במשימה Connectors ב-Apigee Integration, אפשר לעיין במאמר משימת Connectors.
  • מידע על יצירה ושימוש במשימת מחברים ב-Application Integration זמין במאמר משימת מחברים.

פעולות

בקטע הזה מוסבר איך לבצע חלק מהפעולות במחבר הזה.

פעולת MakeDirectory

הפעולה הזו יוצרת ספרייה בנתיב שצוין.

פרמטרים של קלט לפעולה MakeDirectory

שם הפרמטר סוג נתונים חובה תיאור
הרשאה String לא נכון ההרשאות ליצירת ספרייה חדשה.
נתיב String נכון הנתיב של הספרייה החדשה.

דוגמה להגדרת הפעולה MakeDirectory מופיעה במאמר דוגמאות.

הפעולה ListStatus

הפעולה הזו מציגה את התוכן של הנתיב שצוין.

פרמטרים של קלט לפעולה ListStatus

שם הפרמטר סוג נתונים חובה תיאור
נתיב String נכון הנתיב של הקובץ.

דוגמה להגדרת הפעולה ListStatus מופיעה במאמר דוגמאות.

פעולת GetHomeDirectory

הפעולה הזו מחזירה את ספריית הבית של המשתמש הנוכחי.

פרמטרים של קלט לפעולה GetHomeDirectory

שם הפרמטר סוג נתונים חובה תיאור
connectorInputPayload קובץ Json נכון מטען הייעודי (payload) של הקלט של מחבר.

דוגמה להגדרת הפעולה GetHomeDirectory מופיעה במאמר דוגמאות.

הפעולה DeleteFile

הפעולה הזו מוחקת קובץ או ספרייה.

פרמטרים של קלט לפעולה DeleteFile

שם הפרמטר סוג נתונים חובה תיאור
נתיב String נכון הנתיב של הקובץ.
רקורסיבי בוליאני לא נכון קובעת אם למחוק את תיקיות המשנה של תיקייה.

דוגמה להגדרת הפעולה DeleteFile מופיעה במאמר דוגמאות.

פעולה GetContentSummary

הפעולה הזו מקבלת את סיכום התוכן של קובץ או תיקייה.

פרמטרים של קלט לפעולה GetContentSummary

שם הפרמטר סוג נתונים חובה תיאור
נתיב String נכון הנתיב של הקובץ או התיקייה.

דוגמה להגדרת הפעולה GetContentSummary מופיעה במאמר דוגמאות.

פעולה RenameFile

הפעולה הזו משנה את השם של קובץ או של ספרייה.

פרמטרים של קלט לפעולה RenameFile

שם הפרמטר סוג נתונים חובה תיאור
נתיב String נכון הנתיב של הקובץ.
יעד String נכון מציין את השם והנתיב החדשים של הקובץ.

דוגמה להגדרת הפעולה RenameFile מופיעה במאמר דוגמאות.

פעולת SetPermission

הפעולה הזו מגדירה את ההרשאה של נתיב.

פרמטרים של קלט לפעולה SetPermission

שם הפרמטר סוג הנתונים חובה תיאור
נתיב String נכון הנתיב של הקובץ.
הרשאה String נכון מציינת את ההרשאות ב-Unix בסימון אוקטלי (בסיס 8).

דוגמה להגדרת הפעולה SetPermission מופיעה במאמר דוגמאות.

פעולת SetPermission

הפעולה הזו מגדירה את ההרשאה של נתיב.

פרמטרים של קלט לפעולה SetPermission

שם הפרמטר סוג נתונים חובה תיאור
נתיב String נכון הנתיב של הקובץ.
הרשאה String נכון מציינת את הרשאות ה-Unix בסימון אוקטלי (בסיס 8).

דוגמה להגדרת הפעולה SetPermission מופיעה במאמר דוגמאות.

פעולה SetOwner

הפעולה הזו מגדירה בעלים וקבוצה של נתיב.

פרמטרים של קלט לפעולה SetOwner

שם הפרמטר סוג נתונים חובה תיאור
נתיב String נכון הנתיב של הקובץ.
בעלים String נכון הבעלים החדש של הנתיב.
קבוצה String לא נכון השם של הקבוצה החדשה.

דוגמה להגדרת הפעולה SetOwner מופיעה במאמר דוגמאות.

הפעולה UploadFile

הפעולה הזו מעלה קובץ.

פרמטרים של קלט לפעולה UploadFile

שם הפרמטר סוג נתונים חובה תיאור
נתיב String נכון הנתיב של הקובץ.
תוכן String נכון התוכן של הקובץ שהועלה.

דוגמה להגדרת הפעולה UploadFile מופיעה במאמר דוגמאות.

הפעולה DownloadFile

הפעולה הזו מורידה קובץ.

פרמטרים של קלט לפעולה DownloadFile

שם הפרמטר סוג נתונים חובה תיאור
נתיב String נכון הנתיב של הקובץ.
WriteToFile String לא נכון המיקום המקומי של הקובץ שאליו נכתב הפלט.

דוגמה להגדרת הפעולה DownloadFile מופיעה במאמר דוגמאות.

הפעולה AppendToFile

הפעולה הזו מצרפת קובץ.

פרמטרים של קלט לפעולה AppendToFile

שם הפרמטר סוג נתונים חובה תיאור
נתיב String נכון הנתיב של הקובץ.
תוכן String נכון התוכן שיוסף לקובץ.

דוגמה להגדרת הפעולה AppendToFile מופיעה במאמר דוגמאות.

פעולת GetFileChecksum

הפעולה הזו מחזירה את סיכום הביקורת של קובץ.

פרמטרים של קלט לפעולה GetFileChecksum

שם הפרמטר סוג נתונים חובה תיאור
נתיב String נכון הנתיב של הקובץ.

דוגמה להגדרת הפעולה GetFileChecksum מופיעה במאמר דוגמאות.

דוגמאות לפעולות

בקטע הזה מוסבר איך לבצע חלק מהפעולות שמופיעות בדוגמאות במחבר הזה.

דוגמה – יצירת ספרייה

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה MakeDirectory ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "Path": "/user/hduser"
    }
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:

    [{
      "Success": true
    }]
    

דוגמה – קבלת ספריית הבית

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה GetHomeDirectory ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
      {}
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:

    [{
      "Path": "/user/hduser"
    }]
    

דוגמה – מחיקת קובץ

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה DeleteFile ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "Path": "/user/hduser/testFile"
    }
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:

    [{
      "Success": true
    }]
    

דוגמה – הצגת הסטטוס של קובץ

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ListStatus ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "path": "/user/hduser/deletefile"
    }
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:

    [{
      "fileId": 16471.0,
      "PathSuffix": "data.txt",
      "owner": "hduser",
      "group": "supergroup",
      "length": 38.0,
      "permission": "644",
      "replication": 1.0,
      "storagePolicy": 0.0,
      "childrenNum": 0.0,
      "blockSize": 1.34217728E8,
      "modificationTime": "2024-08-16 16:12:01.921",
      "accessTime": "2024-08-16 16:12:01.888",
      "type": "FILE"
    }, {
      "fileId": 16469.0,
      "PathSuffix": "file2.txt",
      "owner": "hduser",
      "group": "supergroup",
      "length": 53.0,
      "permission": "644",
      "replication": 1.0,
      "storagePolicy": 0.0,
      "childrenNum": 0.0,
      "blockSize": 1.34217728E8,
      "modificationTime": "2024-08-16 16:12:01.762",
      "accessTime": "2024-08-16 16:12:01.447",
      "type": "FILE"
    }]
    

דוגמה – קבלת סיכום תוכן של קובץ

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה GetContentSummary ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "Path": "/user/hduser/appendtofile"
    }
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:

      [{
      "DirectoryCount": "1",
      "FileCount": "1",
      "Length": 52.0,
      "Quota": -1.0,
      "SpaceConsumed": 52.0,
      "SpaceQuota": -1.0,
      "ecpolicy": "",
      "snapshotdirectorycount": "0",
      "snapshotfilecount": "0",
      "snapshotlength": "0",
      "snapshotspaceconsumed": "0"
    }]
    

דוגמה – שינוי שם של קובץ

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה hdfs_RenameFile_action ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "Path": "/user/hduser/renamefile_second/file1.txt",
      "Destination": "/user/hduser/renamefile_second/file1rename"
    }
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:

    [{
      "Success": true
    }]
    

דוגמה – הגדרת הרשאה לקובץ

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה SetPermission ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "Path": "/user/hduser/gcpdirectory",
      "Permission": "777"
    }
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:

    [{
      "Success": true
    }]
    

דוגמה – הגדרת הבעלים של קובץ

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה SetOwner ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "Path": "/user/hduser/gcpdirectory",
      "Owner": "newowner"
    }
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:

    [{
      "Success": true
    }]
    

דוגמה – העלאת קובץ

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה UploadFile ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
       { "Path": "/user/newfile9087.txt", "Content": "string" }
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:

    [{
      "Success": true
    }]
    

דוגמה – הורדת קובץ

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה DownloadFile ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    { "Path": "/user/sampleFile/file1.txt" }
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:

    [ { "Output": "This is sample File\nfor this testing\ncontent" } ]
    

דוגמה – הוספת קובץ

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה AppendToFile ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    { "Path": "/user/sampleFile/file1.txt", "Content": "content" }
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:

    [ { "Success": true } ]
    

דוגמה – קבלת סיכום ביקורת של קובץ

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה GetFileChecksum ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    { "Path": "/user/sampleFile/file1.txt" }
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:

    [ { "Algorithm": "MD5-of-0MD5-of-512CRC32C", "Bytes": "00000200000000000000000080f5b53ae8c165ae56e86109b8bb2a1700000000", "Length": 28 } ]
    

דוגמאות לפעולות על ישויות

בקטע הזה מוסבר איך לבצע חלק מהפעולות על ישויות במחבר הזה.

דוגמה – הצגת נתונים של כל הקבצים

בדוגמה הזו, הנתונים של כל הקבצים בישות Files מאוחזרים.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Object מהרשימה Entity.
  3. בוחרים את הפעולה List ולוחצים על סיום.

דוגמה – קבלת נתונים של הרשאה

בדוגמה הזו מאחזרים את נתוני ההרשאה עם המזהה שצוין מהיישות Permission.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Permission מהרשימה Entity.
  3. בוחרים את הפעולה Get ולוחצים על סיום.
  4. בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על EntityId (מזהה ישות) ואז מזינים /user/hduser/appendfile בשדה Default Value (ערך ברירת מחדל).

    כאן, /user/hduser/appendfile הוא מזהה ייחודי בישות Permission.

קבלת עזרה מקהילת Google Cloud

אתם יכולים לפרסם את השאלות שלכם ולדון במחבר הזה בקהילת Google Cloud בפורומים של Cloud.

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