HDFS
מחבר HDFS מאפשר לבצע פעולות של הוספה, מחיקה, עדכון וקריאה של נתוני HDFS.
גרסאות נתמכות
המחבר הזה תומך ב-HDFS Hadoop גרסה 3.4.0.
לפני שמתחילים
לפני שמשתמשים במחבר HDFS, צריך לבצע את המשימות הבאות:
- בפרויקט שלכם ב-Google Cloud:
- נותנים למשתמש שמגדיר את המחבר את תפקיד ה-IAM roles/connectors.admin.
- מקצים לחשבון השירות שרוצים להשתמש בו עבור המחבר את תפקידי ה-IAM הבאים:
roles/secretmanager.viewerroles/secretmanager.secretAccessor
חשבון שירות הוא סוג מיוחד של חשבון Google שמייצג משתמש לא אנושי, שצריך לאמת ולאשר כדי לתת לו גישה לנתונים ב-Google APIs. אם אין לכם חשבון שירות, אתם צריכים ליצור חשבון שירות. המחבר וחשבון השירות צריכים להיות שייכים לאותו פרויקט. מידע נוסף זמין במאמר בנושא יצירת חשבון שירות.
- מפעילים את השירותים הבאים:
-
secretmanager.googleapis.com(Secret Manager API) -
connectors.googleapis.com(Connectors API)
במאמר הפעלת שירותים מוסבר איך להפעיל שירותים.
-
אם השירותים או ההרשאות האלה לא הופעלו בפרויקט שלכם בעבר, תתבקשו להפעיל אותם כשאתם מגדירים את המחבר.
הגדרת המחבר
החיבור הוא ספציפי למקור נתונים. אם יש לכם הרבה מקורות נתונים, תצטרכו ליצור חיבור נפרד לכל אחד מהם. כדי ליצור קישור:
- במסוף Cloud, עוברים לדף Integration Connectors > Connections ובוחרים או יוצרים פרויקט בענן.
- לוחצים על + יצירת חיבור חדש כדי לפתוח את הדף יצירת חיבור.
- בקטע מיקום, בוחרים את המיקום של החיבור.
- אזור: בוחרים מיקום מהרשימה הנפתחת.
רשימה של כל האזורים הנתמכים מופיעה במאמר מיקומים.
- לוחצים על הבא.
- אזור: בוחרים מיקום מהרשימה הנפתחת.
- בקטע פרטי החיבור, ממלאים את הפרטים הבאים:
- Connector (מחבר): בוחרים באפשרות HDFS מהרשימה הנפתחת של המחברים הזמינים.
- גרסת כלי החיבור: בוחרים את גרסת כלי החיבור מהרשימה הנפתחת של הגרסאות הזמינות.
- בשדה Connection Name (שם החיבור), מזינים שם למופע החיבור.
השמות של החיבורים צריכים לעמוד בקריטריונים הבאים:
- שמות החיבורים יכולים לכלול אותיות, מספרים או מקפים.
- האותיות צריכות להיות קטנות.
- שמות החיבורים צריכים להתחיל באות ולהסתיים באות או במספר.
- שמות החיבורים לא יכולים לכלול יותר מ-49 תווים.
- אופציונלי: מזינים תיאור למופע החיבור.
- אופציונלי: מפעילים את Cloud Logging ואז בוחרים רמת יומן. כברירת מחדל, רמת היומן מוגדרת כ-
Error. - חשבון שירות: בוחרים חשבון שירות שיש לו את התפקידים הנדרשים.
- Path (נתיב): מציינים את נתיב HDFS שבו רוצים להשתמש כספריית העבודה.
- אופציונלי: מגדירים את ההגדרות של צומת החיבור:
- מספר מינימלי של צמתים: מזינים את המספר המינימלי של צמתי חיבור.
- מספר הצמתים המקסימלי: מזינים את מספר צמתי החיבור המקסימלי.
צומת הוא יחידה (או עותק) של חיבור שמבצעת עיבוד של עסקאות. כדי לעבד יותר עסקאות לחיבור נדרשים יותר צמתים, ולהפך: כדי לעבד פחות עסקאות נדרשים פחות צמתים. כדי להבין איך הצמתים משפיעים על התמחור של המחבר, אפשר לעיין במאמר בנושא תמחור של צמתי חיבור. אם לא מזינים ערכים, כברירת מחדל, מספר הצמתים המינימלי מוגדר כ-2 (לזמינות טובה יותר) ומספר הצמתים המקסימלי מוגדר כ-50.
- אופציונלי: לוחצים על + הוספת תווית כדי להוסיף תווית לקישור בצורה של צמד מפתח/ערך.
- לוחצים על הבא.
- בקטע יעדים, מזינים את הפרטים של המארח המרוחק (מערכת העורף) שאליו רוצים להתחבר.
- סוג היעד: בוחרים סוג יעד.
- כדי לציין את שם המארח או את כתובת ה-IP של היעד, בוחרים באפשרות כתובת המארח ומזינים את הכתובת בשדה מארח 1.
- כדי ליצור חיבור פרטי, בוחרים באפשרות Endpoint attachment (צירוף נקודת קצה). ברשימה Endpoint Attachment, בוחרים את קובץ ה-Endpoint Attachment שנוצר עבור מערכת ה-Backend.
אם רוצים ליצור חיבור ציבורי למערכות העורפיות עם אבטחה נוספת, אפשר להגדיר כתובות IP סטטיות יוצאות לחיבורים, ואז להגדיר את כללי חומת האש כך שרק כתובות ה-IP הסטטיות הספציפיות יופיעו ברשימת ההיתרים.
כדי להזין יעדים נוספים, לוחצים על +הוספת יעד.
- לוחצים על הבא.
- סוג היעד: בוחרים סוג יעד.
-
בקטע אימות, מזינים את פרטי האימות.
- בוחרים סוג אימות ומזינים את הפרטים הרלוונטיים.
חיבור HDFS תומך בסוגי האימות הבאים:
- שם משתמש וסיסמה
כדי להבין איך להגדיר את סוגי האימות האלה, אפשר לעיין במאמר בנושא הגדרת אימות.
- לוחצים על הבא.
- בוחרים סוג אימות ומזינים את הפרטים הרלוונטיים.
- בדיקה: בודקים את פרטי החיבור והאימות.
- לוחצים על יצירה.
הגדרת אימות
מזינים את הפרטים בהתאם לאימות שבו רוצים להשתמש.
-
שם משתמש וסיסמה
- שם משתמש: מזינים את שם המשתמש שבו רוצים להשתמש לחיבור ל-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 מופיעה במאמר דוגמאות.
דוגמאות לפעולות
בקטע הזה מוסבר איך לבצע חלק מהפעולות שמופיעות בדוגמאות במחבר הזה.
דוגמה – יצירת ספרייה
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
MakeDirectoryולוחצים על סיום. - בקטע מיפוי נתונים
Open Data Mapping Editorואז מזינים ערך דומה לערך הבא בשדהInput:{ "Path": "/user/hduser" }
אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:
[{
"Success": true
}]
דוגמה – קבלת ספריית הבית
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
GetHomeDirectoryולוחצים על סיום. - בקטע מיפוי נתונים
Open Data Mapping Editorואז מזינים ערך דומה לערך הבא בשדהInput:{}
אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:
[{
"Path": "/user/hduser"
}]
דוגמה – מחיקת קובץ
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
DeleteFileולוחצים על סיום. - בקטע מיפוי נתונים
Open Data Mapping Editorואז מזינים ערך דומה לערך הבא בשדהInput:{ "Path": "/user/hduser/testFile" }
אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:
[{
"Success": true
}]
דוגמה – הצגת הסטטוס של קובץ
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
ListStatusולוחצים על סיום. - בקטע מיפוי נתונים
Open Data Mapping Editorואז מזינים ערך דומה לערך הבא בשדהInput:{ "path": "/user/hduser/deletefile" }
אם הפעולה מצליחה, פרמטר התגובה 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"
}]
דוגמה – קבלת סיכום תוכן של קובץ
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
GetContentSummaryולוחצים על סיום. - בקטע מיפוי נתונים
Open Data Mapping Editorואז מזינים ערך דומה לערך הבא בשדהInput:{ "Path": "/user/hduser/appendtofile" }
אם הפעולה מצליחה, פרמטר התגובה 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"
}]
דוגמה – שינוי שם של קובץ
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
hdfs_RenameFile_actionולוחצים על סיום. - בקטע מיפוי נתונים
Open Data Mapping Editorואז מזינים ערך דומה לערך הבא בשדהInput:{ "Path": "/user/hduser/renamefile_second/file1.txt", "Destination": "/user/hduser/renamefile_second/file1rename" }
אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:
[{
"Success": true
}]
דוגמה – הגדרת הרשאה לקובץ
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
SetPermissionולוחצים על סיום. - בקטע מיפוי נתונים
Open Data Mapping Editorואז מזינים ערך דומה לערך הבא בשדהInput:{ "Path": "/user/hduser/gcpdirectory", "Permission": "777" }
אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:
[{
"Success": true
}]
דוגמה – הגדרת הבעלים של קובץ
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
SetOwnerולוחצים על סיום. - בקטע מיפוי נתונים
Open Data Mapping Editorואז מזינים ערך דומה לערך הבא בשדהInput:{ "Path": "/user/hduser/gcpdirectory", "Owner": "newowner" }
אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:
[{
"Success": true
}]
דוגמה – העלאת קובץ
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
UploadFileולוחצים על סיום. - בקטע מיפוי נתונים
Open Data Mapping Editorואז מזינים ערך דומה לערך הבא בשדהInput:{ "Path": "/user/newfile9087.txt", "Content": "string" }
אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:
[{
"Success": true
}]
דוגמה – הורדת קובץ
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
DownloadFileולוחצים על סיום. - בקטע מיפוי נתונים
Open Data Mapping Editorואז מזינים ערך דומה לערך הבא בשדהInput:{ "Path": "/user/sampleFile/file1.txt" }
אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:
[ { "Output": "This is sample File\nfor this testing\ncontent" } ]
דוגמה – הוספת קובץ
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
AppendToFileולוחצים על סיום. - בקטע מיפוי נתונים
Open Data Mapping Editorואז מזינים ערך דומה לערך הבא בשדהInput:{ "Path": "/user/sampleFile/file1.txt", "Content": "content" }
אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:
[ { "Success": true } ]
דוגמה – קבלת סיכום ביקורת של קובץ
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
GetFileChecksumולוחצים על סיום. - בקטע מיפוי נתונים
Open Data Mapping Editorואז מזינים ערך דומה לערך הבא בשדהInput:{ "Path": "/user/sampleFile/file1.txt" }
אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה:
[ { "Algorithm": "MD5-of-0MD5-of-512CRC32C", "Bytes": "00000200000000000000000080f5b53ae8c165ae56e86109b8bb2a1700000000", "Length": 28 } ]
דוגמאות לפעולות על ישויות
בקטע הזה מוסבר איך לבצע חלק מהפעולות על ישויות במחבר הזה.
דוגמה – הצגת נתונים של כל הקבצים
בדוגמה הזו, הנתונים של כל הקבצים בישות Files מאוחזרים.
- בתיבת הדו-שיח
Configure connector task, לוחצים עלEntities. - בוחרים באפשרות
ObjectמהרשימהEntity. - בוחרים את הפעולה
Listולוחצים על סיום.
דוגמה – קבלת נתונים של הרשאה
בדוגמה הזו מאחזרים את נתוני ההרשאה עם המזהה שצוין מהיישות Permission.
- בתיבת הדו-שיח
Configure connector task, לוחצים עלEntities. - בוחרים באפשרות
PermissionמהרשימהEntity. - בוחרים את הפעולה
Getולוחצים על סיום. - בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על EntityId (מזהה ישות) ואז מזינים
/user/hduser/appendfileבשדה Default Value (ערך ברירת מחדל).כאן,
/user/hduser/appendfileהוא מזהה ייחודי בישותPermission.