באמצעות ממשק שורת הפקודה (CLI) של Dataform בקוד פתוח, אתם יכולים להפעיל, להדר, לבדוק ולהריץ את Dataform core באופן מקומי, מחוץ ל- Google Cloud.
ה-CLI של Dataform תומך ב-Application Default Credentials (ADC). בעזרת ADC, פרטי הכניסה לאפליקציה יכולים להיות זמינים בסביבות שונות, כמו בפיתוח מקומי או בייצור, בלי שיהיה צריך לשנות את קוד האפליקציה. כדי שתוכלו להשתמש ב-ADC, קודם כל צריך לספק את פרטי הכניסה ל-ADC.
לפני שמתחילים
לפני שמתקינים את Dataform CLI, מתקינים את NPM.
התקנת Dataform CLI
כדי להתקין את ה-CLI של Dataform, מריצים את הפקודה הבאה:
npm i -g @dataform/cli
הפעלה של פרויקט Dataform
כדי לאתחל פרויקט חדש ב-Dataform, מריצים את הפקודה הבאה בספריית הפרויקט:
dataform init . YOUR_GOOGLE_CLOUD_PROJECT_ID DEFAULT_LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
YOUR_GOOGLE_CLOUD_PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
DEFAULT_LOCATION: המיקום ב-BigQuery שבו רוצים ש-Dataform יעבד ויאחסן את הנתונים.
-
עדכון של Dataform core
כדי לעדכן את מסגרת הליבה של Dataform, מעדכנים את
dataformCoreVersionבקובץworkflow_settings.yaml. כשמגדירים אתdataformCoreVersionב-workflow_settings.yaml, Dataform מתקין את@dataform/coreבאופן אוטומטי בזמן הריצה. אם בפרויקט שלכם מנהלים את@dataform/coreבקובץpackage.jsonבליdataformCoreVersionב-workflow_settings.yaml, צריך לעדכן את הגרסה ב-package.jsonולהריץ את הפקודה:dataform install
עדכון Dataform CLI
כדי לעדכן את כלי ה-CLI של Dataform, מריצים את הפקודה הבאה:
npm i -g @dataform/cli@^3.0.50
יצירת קובץ של פרטי כניסה
כדי להתחבר לשירותים מרוחקים וליצור את הקובץ .df-credentials.json בדיסק, צריך קובץ של פרטי כניסה ב-Dataform.
כדי ליצור את קובץ פרטי הכניסה:
מריצים את הפקודה הבאה:
dataform init-credsפועלים לפי ההוראות באשף של
init-credsכדי ליצור קובץ פרטי כניסה.
יצירת פרויקט
פרויקט ריק ב-Dataform, בגרסה 3.0.0 ומעלה של Dataform core, כולל את המבנה הבא:
project-dir
├── definitions
├── includes
└── workflow_settings.yaml
כדי ליצור פרויקט ב-Dataform לפריסת נכסים ב-BigQuery, מריצים את הפקודה הבאה:
dataform init PROJECT_NAME --default-database YOUR_GOOGLE_CLOUD_PROJECT_ID --default-location DEFAULT_LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAME: שם הספרייה של הפרויקט. -
YOUR_GOOGLE_CLOUD_PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
DEFAULT_LOCATION: המיקום ב-BigQuery שבו רוצים ש-Dataform יעבד ויאחסן נתונים.
-
שכפול פרויקט
כדי לשכפל פרויקט קיים של Dataform ממאגר Git של צד שלישי, צריך לפעול לפי ההוראות של ספק Git.
אם בפרויקט המשוכפל מוגדרים יחסי תלות חיצוניים בקובץ
package.json(בליdataformCoreVersionב-workflow_settings.yaml), מריצים את הפקודה הבאה בתוך ספריית המאגר המשוכפל:dataform install
הגדרת טבלה
שומרים את ההגדרות בתיקייה definitions/.
כדי להגדיר טבלה, מריצים את הפקודה הבאה:
echo "config { type: 'TABLE_TYPE' } SELECT_STATEMENT" > definitions/FILE.sqlxמחליפים את מה שכתוב בשדות הבאים:
-
TABLE_TYPE: סוג הטבלה:table,incrementalאוview. -
SELECT_STATEMENT: משפטSELECTשמגדיר את הטבלה. FILE: השם של קובץ הגדרת הטבלה.
-
דוגמת הקוד הבאה מגדירה תצוגה בקובץ SQLX של example.
echo "config { type: 'view' } SELECT 1 AS test" > definitions/example.sqlx
הגדרה של טענת נכוֹנוּת (assertion) ידנית
שומרים את ההגדרות בתיקייה definitions/.
כדי להגדיר טענת נכוֹנוּת (assertion) ידנית, מריצים את הפקודה הבאה:
echo "config { type: 'assertion' } SELECT_STATEMENT" > definitions/FILE.sqlxמחליפים את מה שכתוב בשדות הבאים:
-
SELECT_STATEMENT: הצהרתSELECTשמגדירה את הטענה. -
FILE: השם של קובץ ההגדרה של פעולת ה-SQL בהתאמה אישית.
-
הגדרת פעולת SQL בהתאמה אישית
שומרים את ההגדרות בתיקייה definitions/.
כדי להגדיר פעולת SQL בהתאמה אישית, מריצים את הפקודה הבאה:
echo "config { type: 'operations' } SQL_QUERY" > definitions/FILE.sqlxמחליפים את מה שכתוב בשדות הבאים:
SQL_QUERY: פעולת ה-SQL בהתאמה אישית.-
FILE: השם של קובץ ההגדרה של פעולת ה-SQL המותאמת אישית.
הצגת הפלט של הקומפילציה
Dataform מקמפל את הקוד בזמן אמת.
כדי לראות את הפלט של תהליך הקומפילציה במסוף, מריצים את הפקודה הבאה:
dataform compileכדי להציג את הפלט של תהליך הקימפול כאובייקט JSON, מריצים את הפקודה הבאה:
dataform compile --jsonכדי להציג את הפלט של הקומפילציה עם משתני קומפילציה בהתאמה אישית, מריצים את הפקודה הבאה:
dataform compile --vars=SAMPLE_VAR=SAMPLE_VALUE,foo=barמחליפים את מה שכתוב בשדות הבאים:
-
SAMPLE_VAR: משתנה ההידור המותאם אישית. -
SAMPLE_VALUE: הערך של משתנה ההידור המותאם אישית.
-
הרצת הקוד
כדי להריץ את הקוד, Dataform ניגש ל-BigQuery כדי לקבוע את המצב הנוכחי שלו ולהתאים את ה-SQL שנוצר בהתאם.
כדי להריץ את הקוד של פרויקט Dataform, מריצים את הפקודה הבאה:
dataform runכדי להריץ את הקוד של פרויקט Dataform ב-BigQuery עם משתני קומפילציה בהתאמה אישית, מריצים את הפקודה הבאה:
dataform run --vars=SAMPLE_VAR=SAMPLE_VALUE,sampleVar2=sampleValue2מחליפים את מה שכתוב בשדות הבאים:
-
SAMPLE_VAR: משתנה ההידור המותאם אישית. -
SAMPLE_VALUE: הערך של משתנה ההידור בהתאמה אישית.
-
כדי להריץ את הקוד של פרויקט Dataform ב-BigQuery ולבנות מחדש טבלאות מצטברות (אלא אם הן מסומנות ב-
protected) מאפס, מריצים את הפקודה הבאה:dataform run --full-refresh
בלי --full-refresh, Dataform מעדכן טבלאות מצטברות בלי ליצור אותן מחדש (טבלאות ותצוגות רגילות תמיד נוצרות מחדש).
כדי לבצע הרצת בדיקה של הקוד ב-BigQuery, מריצים את הפקודה הבאה:
dataform run --dry-run
קבלת עזרה
כדי להציג את כל הפקודות והאפשרויות הזמינות, מריצים את הפקודה הבאה:
dataform helpכדי לראות תיאור של פקודה מסוימת, מריצים את הפקודה הבאה:
dataform help COMMANDמחליפים את
COMMANDבפקודה שרוצים לקבל מידע עליה.
המאמרים הבאים
- מידע נוסף על הפקודות והדגלים של Dataform CLI זמין במדריך העזר של Dataform CLI ובמדריך העזר של Dataform CLI ב-GitHub.
- מידע נוסף על Dataform זמין בסקירה הכללית על Dataform.