באמצעות Dataform CLI בקוד פתוח, אתם יכולים לאתחל, לקמפל, לבדוק ולהריץ את Dataform core באופן מקומי, מחוץ ל- Google Cloud.
ה-CLI של Dataform תומך ב-Application Default Credentials (ADC). בעזרת ADC, פרטי הכניסה לאפליקציה יכולים להיות זמינים בסביבות שונות, כמו בפיתוח מקומי או בייצור, בלי שיהיה צריך לשנות את קוד האפליקציה. כדי שתוכלו להשתמש ב-ADC, קודם כל צריך לספק את פרטי הכניסה ל-ADC.
לפני שמתחילים
לפני שמתקינים את Dataform CLI, מתקינים את NPM.
התקנת Dataform CLI
כדי להתקין את Dataform CLI, מריצים את הפקודה הבאה:
npm i -g @dataform/cli
איך מאתחלים פרויקט Dataform
כדי לאתחל פרויקט חדש ב-Dataform, מריצים את הפקודה הבאה בספריית הפרויקט:
dataform init . PROJECT_NAME DEFAULT_LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAME: שם הפרויקט.
DEFAULT_LOCATION(אופציונלי): המיקום שבו רוצים ש-Dataform יכתוב נתונים ב-BigQuery. אם לא מגדירים מיקום, Dataform קובע את המיקום על סמך מערכי הנתונים שאליהם מתייחסת שאילתת ה-SQL. כך זה עובד:- אם השאילתה מפנה למערכי נתונים מאותו מיקום, מערכת Dataform משתמשת במיקום הזה.
- אם השאילתה מפנה למערכי נתונים משני מיקומים שונים או יותר, תתרחש שגיאה. פרטים נוספים על ההגבלה הזו זמינים במאמר בנושא שכפול של מערכי נתונים באזורים שונים.
- אם השאילתה לא מפנה לאף מערך נתונים, המיקום שמוגדר כברירת מחדל ב-Dataform הוא
USmulti-region. כדי לבחור מיקום אחר, מגדירים את מיקום ברירת המחדל. אפשר גם להשתמש במשתנה המערכת@@locationבשאילתה. מידע נוסף זמין במאמר בנושא ציון מיקומים.
-
עדכון של Dataform Core
כדי לעדכן את מסגרת הליבה של Dataform, מעדכנים את
dataformCoreVersionבקובץworkflow_settings.yaml, ואז מריצים מחדש את NPM install:npm i
עדכון Dataform CLI
כדי לעדכן את כלי ה-CLI של Dataform, מריצים את הפקודה הבאה:
npm i -g @dataform/cli@^3.0.50
יצירת קובץ פרטי כניסה
כדי להתחבר לשירותים מרוחקים וליצור את קובץ .df-credentials.json בדיסק, צריך קובץ פרטי כניסה ב-Dataform.
כדי ליצור את קובץ פרטי הכניסה:
מריצים את הפקודה הבאה:
dataform init-credsפועלים לפי ההוראות באשף
init-credsליצירת קובץ פרטי הכניסה.
יצירת פרויקט
פרויקט Dataform ריק ב-Dataform core בגרסה 3.0.0 ואילך כולל את המבנה הבא:
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(אופציונלי): המיקום שבו רוצים ש-Dataform יכתוב נתונים ב-BigQuery. אם לא מגדירים מיקום, Dataform קובע את המיקום על סמך מערכי הנתונים שאליהם מתייחסת שאילתת ה-SQL. כך זה עובד:- אם השאילתה מפנה למערכי נתונים מאותו מיקום, מערכת Dataform משתמשת במיקום הזה.
- אם השאילתה מפנה למערכי נתונים משני מיקומים שונים או יותר, תתרחש שגיאה. פרטים נוספים על ההגבלה הזו זמינים במאמר בנושא שכפול של מערכי נתונים באזורים שונים.
- אם השאילתה לא מפנה לאף מערך נתונים, המיקום שמוגדר כברירת מחדל ב-Dataform הוא
USmulti-region. כדי לבחור מיקום אחר, מגדירים את מיקום ברירת המחדל. אפשר גם להשתמש במשתנה המערכת@@locationבשאילתה. מידע נוסף זמין במאמר בנושא ציון מיקומים.
-
שכפול פרויקט
כדי לשכפל פרויקט קיים של Dataform ממאגר Git של צד שלישי, פועלים לפי ההוראות של ספק Git.
אחרי שמשכפלים את המאגר, מריצים את הפקודה הבאה בתוך ספריית המאגר המשוכפל:
dataform install
הגדרת טבלה
שומרים את ההגדרות בתיקייה definitions/.
כדי להגדיר טבלה, מריצים את הפקודה הבאה:
echo "config { type: 'TABLE_TYPE' } SELECT_STATEMENT" > definitions/FILE.sqlxמחליפים את מה שכתוב בשדות הבאים:
-
TABLE_TYPE: סוג הטבלה: table,incrementalאוview. -
SELECT_STATEMENT: משפטSELECTשמגדיר את הטבלה. -
FILE: השם של קובץ הגדרת הטבלה.
-
בדוגמת הקוד הבאה מוגדר תצוגה בקובץ example SQLX.
echo "config { type: 'view' } SELECT 1 AS test" > definitions/example.sqlx
הגדרה של הצהרה ידנית
שומרים את ההגדרות בתיקייה definitions/.
כדי להגדיר טענה ידנית, מריצים את הפקודה הבאה:
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 ולבנות מחדש את כל הטבלאות מאפס, מריצים את הפקודה הבאה:
dataform run --full-refresh
בלי --full-refresh, Dataform מעדכן טבלאות מצטברות בלי לבנות אותן מחדש מאפס.
כדי לבצע הרצה יבשה של הקוד ב-BigQuery, מריצים את הפקודה הבאה:
dataform run --dry-run
קבלת עזרה
כדי להציג את כל הפקודות והאפשרויות הזמינות, מריצים את הפקודה הבאה:
dataform helpכדי לראות תיאור של פקודה ספציפית, מריצים את הפקודה הבאה:
dataform help COMMANDמחליפים את
COMMANDבפקודה שרוצים לקבל עליה מידע.
המאמרים הבאים
- מידע נוסף על Dataform CLI זמין במאמר בנושא Dataform CLI reference.
- מידע נוסף על Dataform זמין במאמר סקירה כללית על Dataform.