טעינת נתונים לדוגמה

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

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

  1. מתקינים את Google Cloud CLI או משתמשים ב-Cloud Shell, שבו כל הכלים הדרושים מותקנים מראש.

  2. כדי לקבל את ההרשאות שדרושות לייצוא נתונים מ-BigQuery אל Spanner, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

    • ייצוא נתונים מטבלה ב-BigQuery: BigQuery Data Viewer (roles/bigquery.dataViewer)
    • מריצים משימת ייצוא: משתמש BigQuery ‏ (roles/bigquery.user)
    • כתיבת נתונים לטבלת Spanner: משתמש במסד נתונים של Spanner‏ (roles/spanner.databaseUser)

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

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

טעינת נתונים לדוגמה ב-Spanner

ההוראות הבאות מתבצעות באמצעות תהליך העבודה של BigQuery reverse ETL ו-Google Cloud CLI.

  1. מגדירים פרויקט ברירת מחדל ב-CLI של gcloud באמצעות הפקודה הבאה:

     gcloud config set project PROJECT_ID
  2. מייצאים את נתוני המקור בפורמט קובץ CSV. כדי להמיר את נתוני הדוגמה לפורמט של קובץ CSV, אפשר להשתמש בכלים הבאים: pg_dump למסדי נתונים של PostgreSQL או mysqldump למסדי נתונים של MySQL.

  3. טוענים את הנתונים ל-BigQuery באמצעות הפקודות הבאות של bq:

    1. יוצרים מערך נתונים ב-BigQuery.

      bq mk BQ_DATASET
    2. טעינת הנתונים באצווה לטבלה חדשה ב-BigQuery.

      bq load \
      --source_format=CSV \
      --autodetect \
      --allow_quoted_newlines \
      BQ_DATASET.BQ_TABLE /path/to/file

      אפשר גם לטעון את הנתונים מקובץ ב-Cloud Storage בטעינה אצווה.

      bq load \
      --source_format=CSV \
      --autodetect \
      --allow_quoted_newlines \
      BQ_DATASET.BQ_TABLE gs://BUCKET/FILE
  4. יוצרים סכימה של Spanner שתואמת ל-BQ_TABLE המיובא באמצעות הפקודה הבאה:

     gcloud spanner databases ddl update SPANNER_DATABASE \
     --instance=SPANNER_INSTANCE \
     --ddl="CREATE TABLE SPANNER_TABLE ..."

    מידע נוסף זמין במאמר בנושא עדכון סכימת Spanner.

  5. כדי לייצא נתונים מ-BigQuery ל-Spanner, משתמשים בפקודה הבאה:

       bq --use_legacy_sql=false 'EXPORT DATA OPTIONS(
         uri="https://spanner.googleapis.com/projects/PROJECT_ID/instances/SPANNER_INSTANCE/databases/SPANNER_DATABASE"
         format='CLOUD_SPANNER'
         spanner_options="""{ "table": "SPANNER_TABLE" }"""
         ) AS
         SELECT *
         FROM BQ_DATASET.BQ_TABLE;'
     

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