שאילתות בפורמטים פתוחים של טבלאות באמצעות קובצי מניפסט

במאמר הזה מוסבר איך להשתמש בקובצי מניפסט כדי לשלוח שאילתות לנתונים שמאוחסנים בפורמטים של טבלאות בקוד פתוח, כמו Apache Hudi ו-Delta Lake.

חלק מהפורמטים של טבלאות בקוד פתוח, כמו Hudi ו-Delta Lake, מייצאים את המצב הנוכחי שלהם כקובץ מניפסט אחד או יותר. קובץ מניפסט מכיל רשימה של קובצי נתונים שיוצרים טבלאות. התמיכה במניפסט ב-BigQuery מאפשרת לשלוח שאילתות ולטעון נתונים שמאוחסנים בפורמטים של טבלאות פתוחות.

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

  • מפעילים את ממשקי ה-API של BigQuery Connection,‏ BigQuery Reservation ו-BigLake, אם הם עדיין לא מופעלים.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    הפעלת ממשקי ה-API

  • כדי ליצור טבלאות BigLake, אפשר להריץ את פקודות Spark באחת מהשיטות הבאות:

  • כדי לאחסן את קובץ המניפסט ב-Cloud Storage, צריך ליצור קטגוריה של Cloud Storage. כדי לגשת לקובץ המניפסט, צריך להתחבר לקטגוריה של Cloud Storage. כדי לעשות זאת:

    1. יצירת קישור למשאבים ב-Cloud
    2. הגדרת גישה לחיבור הזה.

התפקידים הנדרשים

כדי להריץ שאילתות על טבלאות BigLake שמבוססות על נתוני Hudi ו-Delta Lake, צריך לוודא שיש לכם את התפקידים הבאים:

  • BigQuery Connection User (roles/bigquery.connectionUser)
  • צפייה בנתוני BigQuery ‏ (roles/bigquery.dataViewer)
  • משתמש BigQuery‏ (roles/bigquery.user)

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

  • צפייה בנתוני BigQuery ‏ (roles/bigquery.dataViewer)
  • משתמש BigQuery‏ (roles/bigquery.user)
  • צפייה באובייקטים באחסון (roles/storage.objectViewer)

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

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

ההרשאות הנדרשות

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

שאילתות של עומסי עבודה ב-Hudi

כדי להריץ שאילתות על נתוני Hudi, פועלים לפי השלבים הבאים:

  1. יצירת טבלה חיצונית על סמך נתוני Hudi.
  2. משדרגים את הטבלה החיצונית ל-BigLake.

יצירת טבלאות חיצוניות של Hudi

כשמסנכרנים טבלאות באמצעות כלי הסנכרון של Hudi ו-BigQuery, צריך להפעיל את הדגל use-bq-manifest-file כדי לעבור לגישה של קובץ המניפסט. הדגל הזה מייצא גם קובץ מניפסט בפורמט שנתמך על ידי BigQuery, ומשתמש בו כדי ליצור טבלה חיצונית עם השם שצוין בפרמטר --table.

כדי ליצור טבלת Hudi חיצונית, פועלים לפי השלבים הבאים:

  1. כדי ליצור טבלת Hudi חיצונית, צריך לשלוח משימה לאשכול קיים של Managed Service for Apache Spark. כשמגדירים את המחבר Hudi-BigQuery, צריך להפעיל את הדגל use-bq-manifest-file כדי לעבור לגישה של קובץ המניפסט. הדגל הזה מייצא קובץ מניפסט בפורמט שנתמך על ידי BigQuery, ומשתמש בו כדי ליצור טבלה חיצונית עם השם שצוין בפרמטר --table.

    spark-submit \
       --master yarn \
       --packages com.google.cloud:google-cloud-bigquery:2.10.4 \
       --class org.apache.hudi.gcp.bigquery.BigQuerySyncTool  \
       JAR \
       --project-id PROJECT_ID \
       --dataset-name DATASET \
       --dataset-location LOCATION \
       --table TABLE \
       --source-uri URI  \
       --source-uri-prefix URI_PREFIX \
       --base-path BASE_PATH  \
       --partitioned-by PARTITION_BY \
       --use-bq-manifest-file
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫JAR: אם אתם משתמשים במחבר Hudi-BigQuery, מציינים hudi-gcp-bundle-0.14.0.jar. אם אתם משתמשים ברכיב Hudi ב-Managed Service for Apache Spark 2.1, צריך לציין /usr/lib/hudi/tools/bq-sync-tool/hudi-gcp-bundle-0.12.3.1.jar

    • ‫PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את טבלת Hudi BigLake

    • ‫DATASET: מערך הנתונים שבו רוצים ליצור את טבלת Hudi BigLake.

    • ‫LOCATION: המיקום שבו רוצים ליצור את טבלת Hudi BigLake.

    • ‫TABLE: השם של הטבלה שרוצים ליצור

      אם אתם עוברים מגרסה קודמת של מחבר Hudi-BigQuery (גרסה 0.13.0 ומטה) שיצרה תצוגות (Views) בקובצי המניפסט, חשוב לוודא שאתם משתמשים באותו שם טבלה, כי כך תוכלו לשמור את קוד הצינור הקיים במורד הזרם.

    • ‫URI: ה-URI של Cloud Storage שיצרתם כדי לאחסן את קובץ המניפסט של Hudi

      ה-URI הזה מצביע על המחיצה ברמה הראשונה. חשוב לכלול את מפתח המחיצה. לדוגמה, gs://mybucket/hudi/mydataset/EventDate=*

    • ‫URI_PREFIX: הקידומת של נתיב ה-URI של Cloud Storage, בדרך כלל זה הנתיב לטבלאות Hudi

    • ‫BASE_PATH: נתיב הבסיס לטבלאות Hudi

      לדוגמה, gs://mybucket/hudi/mydataset/

    • ‫PARTITION_BY: ערך המחיצה

      לדוגמה, EventDate

    למידע נוסף על הגדרת המחבר, ראו מחבר Hudi-BigQuery.

  2. כדי להגדיר אמצעי בקרה מתאימים ברמת הגרנולריות או כדי לשפר את הביצועים באמצעות הפעלת שמירת מטא-נתונים במטמון, ראו שדרוג טבלאות BigLake.

שאילתות של עומסי עבודה של Delta

יש עכשיו תמיכה מובנית בטבלאות דלתא. מומלץ ליצור טבלאות Delta BigLake לעומסי עבודה של Delta. טבלאות BigLake של Delta Lake תומכות בטבלאות Delta Lake מתקדמות יותר, כולל טבלאות עם מיפוי מחדש של עמודות ווקטורים של מחיקה. בנוסף, טבלאות Delta BigLake קוראות ישירות את תמונת המצב האחרונה, כך שהעדכונים זמינים באופן מיידי.

כדי להריץ שאילתות על עומסי עבודה של Delta, פועלים לפי השלבים הבאים:

  1. יוצרים קובץ מניפסט.
  2. יוצרים טבלת BigLake על סמך קובץ המניפסט.
  3. כדי לשפר את הביצועים, אפשר להגדיר אמצעי בקרה מתאימים ברמת פירוט גבוהה או להפעיל שמירת מטמון של מטא-נתונים. הוראות מפורטות מופיעות במאמר שדרוג טבלאות BigLake.

יצירת קובץ מניפסט

‫BigQuery תומך בקובץ המניפסט בפורמט SymLinkTextInputFormat, שהוא רשימה של כתובות URI שמופרדות בשורות חדשות. מידע נוסף על יצירת קובץ מניפסט זמין במאמר הגדרת שילוב של Presto עם Delta Lake ושאילתות בטבלאות Delta.

כדי ליצור קובץ מניפסט, שולחים משימה לאשכול קיים של Managed Service for Apache Spark:

SQL

באמצעות Spark, מריצים את הפקודה הבאה בטבלת Delta במיקום path-to-delta-table:

GENERATE symlink_format_manifest FOR TABLE delta.``

Scala

באמצעות Spark, מריצים את הפקודה הבאה בטבלת Delta במיקום path-to-delta-table:

val deltaTable = DeltaTable.forPath()
deltaTable.generate("symlink_format_manifest")

Java

באמצעות Spark, מריצים את הפקודה הבאה בטבלת Delta במיקום path-to-delta-table:

DeltaTable deltaTable = DeltaTable.forPath();
deltaTable.generate("symlink_format_manifest");

Python

באמצעות Spark, מריצים את הפקודה הבאה בטבלת Delta במיקום path-to-delta-table:

deltaTable = DeltaTable.forPath()
deltaTable.generate("symlink_format_manifest")

יצירת טבלאות Delta BigLake

כדי ליצור טבלת Delta BigLake, משתמשים בהצהרת CREATE EXTERNAL TABLE עם השדה file_set_spec_type שמוגדר לערך NEW_LINE_DELIMITED_MANIFEST:

  1. עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בעורך השאילתות, מריצים את ההצהרה CREATE EXTERNAL TABLE:

    CREATE EXTERNAL TABLE PROJECT_ID.DATASET_NAME.TABLE_NAME
    WITH PARTITION COLUMNS(
    `PARTITION_COLUMN PARTITION_COLUMN_TYPE`,)
    WITH CONNECTION `PROJECT_IDREGION.CONNECTION_NAME`
    OPTIONS (
       format = "DATA_FORMAT",
       uris = ["URI"],
       file_set_spec_type = 'NEW_LINE_DELIMITED_MANIFEST',
       hive_partition_uri_prefix = "PATH_TO_DELTA_TABLE"
       max_staleness = STALENESS_INTERVAL,
       metadata_cache_mode = 'CACHE_MODE');
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫DATASET_NAME: השם של מערך הנתונים שיצרתם
    • TABLE_NAME: השם שרוצים לתת לטבלה
    • ‫REGION: המיקום שבו נמצא החיבור (לדוגמה, us-east1)
    • CONNECTION_NAME: השם של החיבור שיצרתם
    • ‫DATA_FORMAT: כל אחד מהפורמטים הנתמכים (למשל PARQUET)
    • ‫URI: הנתיב לקובץ המניפסט (לדוגמה, gs://mybucket/path)
    • ‫PATH_TO_DELTA_TABLE: קידומת משותפת לכל מזהי ה-URI של המקור לפני שמתחיל הקידוד של מפתח החלוקה
    • ‫STALENESS_INTERVAL: מציין אם פעולות בטבלת BigLake משתמשות במטא-נתונים שנשמרו במטמון, ומה מידת העדכניות של המטא-נתונים שנשמרו במטמון שנדרשת כדי שהפעולה תשתמש בהם. מידע נוסף על שיקולים לגבי שמירת מטא-נתונים במטמון זמין במאמר שמירת מטא-נתונים במטמון לשיפור הביצועים.

      כדי להשבית את שמירת המטא-נתונים במטמון, מציינים את הערך 0. (זוהי ברירת המחדל)

      כדי להפעיל שמירת מטא-נתונים במטמון, צריך לציין ערך של מרווח זמן בין 30 דקות ל-7 ימים. לדוגמה, כדי להגדיר מרווח של 4 שעות, מציינים INTERVAL 4 HOUR. אם הערך הזה קיים, פעולות שמתבצעות בטבלה משתמשות במטא-נתונים ששמורים במטמון אם הם רעננו ב-4 השעות האחרונות. אם המטא-נתונים שבזיכרון המטמון ישנים יותר, הפעולה מאחזרת מטא-נתונים מ-Delta Lake במקום זאת.

    • ‫CACHE_MODE: מציין אם מטמון המטא-נתונים מתעדכן באופן אוטומטי או ידני. מידע נוסף על שיקולים לגבי שמירת מטא-נתונים במטמון זמין במאמר שמירת מטא-נתונים במטמון לשיפור הביצועים.

      אם מגדירים את הערך AUTOMATIC, מטמון המטא-נתונים מתעדכן במרווח זמן שמוגדר על ידי המערכת, בדרך כלל בין 30 ל-60 דקות.

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

      אם הערך של STALENESS_INTERVAL גדול מ-0, צריך להגדיר את CACHE_MODE.

    דוגמה:

    CREATE EXTERNAL TABLE mydataset.mytable
    WITH CONNECTION `us-east1.myconnection`
    OPTIONS (
        format="PARQUET",
        uris=["gs://mybucket/path/partitionpath=*"],
        file_set_spec_type = 'NEW_LINE_DELIMITED_MANIFEST'
        hive_partition_uri_prefix = "gs://mybucket/path/"
        max_staleness = INTERVAL 1 DAY,
        metadata_cache_mode = 'AUTOMATIC'
    );

שדרוג טבלאות BigLake

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

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

SQL

כדי לעדכן טבלה, משתמשים בCREATE OR REPLACE EXTERNAL TABLEהצהרת DDL:

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בעורך השאילתות, מזינים את ההצהרה הבאה:

    CREATE OR REPLACE EXTERNAL TABLE
      `PROJECT_ID.DATASET.EXTERNAL_TABLE_NAME`
      WITH CONNECTION {`REGION.CONNECTION_ID` | DEFAULT}
      OPTIONS(
        format ="TABLE_FORMAT",
        uris = ['BUCKET_PATH'],
        max_staleness = STALENESS_INTERVAL,
        metadata_cache_mode = 'CACHE_MODE'
        );

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT_ID: השם של הפרויקט שמכיל את הטבלה
    • ‫DATASET: השם של מערך הנתונים שמכיל את הטבלה
    • ‫EXTERNAL_TABLE_NAME: שם הטבלה
    • ‫REGION: האזור שבו נמצא החיבור
    • ‫CONNECTION_ID: השם של החיבור שרוצים להשתמש בו

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

    • ‫TABLE_FORMAT: הפורמט שבו הטבלה משתמשת

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

    • ‫BUCKET_PATH: הנתיב לקטגוריית Cloud Storage שמכילה את הנתונים של הטבלה החיצונית, בפורמט ['gs://bucket_name/[folder_name/]file_name'].

      אפשר לבחור כמה קבצים מהמאגר על ידי ציון כוכבית אחת (*) בנתיב כתו כללי. לדוגמה, ['gs://mybucket/file_name*']. מידע נוסף זמין במאמר תמיכה בתווים כלליים בכתובות URI של Cloud Storage.

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

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

      • ['gs://bucket/path1/myfile.csv']
      • ['gs://bucket/path1/*.csv']
      • ['gs://bucket/path1/*', 'gs://bucket/path2/file00*']

      כשמציינים ערכים של uris שמיועדים לכמה קבצים, לכל הקבצים האלה צריכה להיות סכימה תואמת.

      מידע נוסף על שימוש בכתובות URI של Cloud Storage ב-BigQuery זמין במאמר בנושא נתיב משאב של Cloud Storage.

    • ‫STALENESS_INTERVAL: מציין אם פעולות שמתבצעות בטבלה משתמשות במטא-נתונים ששמורים במטמון, וכמה עדכניים המטא-נתונים צריכים להיות כדי שהפעולה תוכל להשתמש בהם.

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

      כדי להשבית את שמירת המטא-נתונים במטמון, מציינים את הערך 0. (זוהי ברירת המחדל)

      כדי להפעיל שמירת מטא-נתונים במטמון, צריך לציין ערך של מרווח זמן בין 30 דקות ל-7 ימים. לדוגמה, כדי להגדיר מרווח של 4 שעות, מציינים INTERVAL 4 HOUR. אם הערך הזה קיים, פעולות שמתבצעות בטבלה משתמשות במטא-נתונים שנשמרו במטמון, אם הם רעננו ב-4 השעות האחרונות. אם המטא-נתונים במטמון ישנים יותר, הפעולה מאחזרת מטא-נתונים מ-Cloud Storage.

    • ‫CACHE_MODE: מציין אם מטמון המטא-נתונים מתרענן באופן אוטומטי או ידני

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

      מגדירים את הערך AUTOMATIC כדי שהמטמון של המטא-נתונים יתעדכן במרווח זמן שמוגדר על ידי המערכת, בדרך כלל בין 30 ל-60 דקות.

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

      חובה להגדיר את CACHE_MODE אם הערך של STALENESS_INTERVAL גדול מ-0.

  3. לוחצים על הפעלה.

מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.

BQ

כדי לעדכן טבלה, משתמשים בפקודות bq mkdef ו-bq update:

  1. ליצור הגדרת טבלה חיצונית שמתארת את ההיבטים של הטבלה שרוצים לשנות:

    bq mkdef --connection_id=PROJECT_ID.REGION.CONNECTION_ID \
    --source_format=TABLE_FORMAT \
    --metadata_cache_mode=CACHE_MODE \
    "BUCKET_PATH" > /tmp/DEFINITION_FILE

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT_ID: השם של הפרויקט שמכיל את החיבור
    • ‫REGION: האזור שמכיל את החיבור
    • ‫CONNECTION_ID: השם של החיבור שרוצים להשתמש בו
    • ‫TABLE_FORMAT: הפורמט שבו נעשה שימוש בטבלה. אי אפשר לשנות את ההגדרה הזו כשמעדכנים את הטבלה.
    • ‫CACHE_MODE: מציין אם מטמון המטא-נתונים מתרענן באופן אוטומטי או ידני. מידע נוסף על שיקולים לגבי שמירת מטא-נתונים במטמון זמין במאמר שמירת מטא-נתונים במטמון לשיפור הביצועים.

      מגדירים את הערך AUTOMATIC כדי שמטמון המטא-נתונים יתעדכן במרווח זמן שמוגדר על ידי המערכת, בדרך כלל בין 30 ל-60 דקות.

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

      חובה להגדיר את CACHE_MODE אם הערך של STALENESS_INTERVAL גדול מ-0.

    • ‫BUCKET_PATH: הנתיב לדלי ב-Cloud Storage שמכיל את הנתונים של הטבלה החיצונית, בפורמט gs://bucket_name/[folder_name/]file_name.

      כדי להגביל את הקבצים שנבחרו מהמאגר, מציינים כוכבית אחת (*) בנתיב כתו כללי. לדוגמה, gs://mybucket/file_name*. מידע נוסף זמין במאמר בנושא תמיכה בתווים כלליים בכתובות URI של Cloud Storage.

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

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

      • gs://bucket/path1/myfile.csv
      • gs://bucket/path1/*.csv
      • gs://bucket/path1/*,gs://bucket/path2/file00*

      כשמציינים uris ערכים שמיועדים לכמה קבצים, לכל הקבצים האלה צריכה להיות סכימה תואמת.

      מידע נוסף על שימוש בכתובות URI של Cloud Storage ב-BigQuery זמין במאמר בנושא נתיב משאב ב-Cloud Storage.

    • ‫DEFINITION_FILE: השם של קובץ הגדרת הטבלה שאתם יוצרים.

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

    bq update --max_staleness=STALENESS_INTERVAL \
    --external_table_definition=/tmp/DEFINITION_FILE \
    PROJECT_ID:DATASET.EXTERNAL_TABLE_NAME

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫STALENESS_INTERVAL: מציין אם פעולות שמתבצעות בטבלה משתמשות במטא-נתונים ששמורים במטמון, וכמה עדכניים צריכים להיות המטא-נתונים כדי שהפעולה תוכל להשתמש בהם. מידע נוסף על שיקולים בנוגע לשמירה במטמון של מטא-נתונים זמין במאמר שמירה במטמון של מטא-נתונים לשיפור הביצועים.

      כדי להשבית את שמירת המטא-נתונים במטמון, מציינים את הערך 0. (זוהי ברירת המחדל)

      כדי להפעיל שמירת מטא-נתונים במטמון, צריך לציין ערך של מרווח זמן בין 30 דקות ל-7 ימים, באמצעות הפורמט Y-M D H:M:S שמתואר במסמכי התיעוד של סוג הנתונים INTERVAL. לדוגמה, מציינים 0-0 0 4:0:0 למרווח של 4 שעות. אם הערך הזה מוגדר, פעולות שמתבצעות בטבלה משתמשות במטא-נתונים שנשמרו במטמון אם הם רעננו ב-4 השעות האחרונות. אם המטא-נתונים שבמטמון ישנים יותר, הפעולה מאחזרת מטא-נתונים מ-Cloud Storage במקום זאת.

    • ‫DEFINITION_FILE: השם של קובץ הגדרת הטבלה שיצרתם או עדכנתם.

    • ‫PROJECT_ID: השם של הפרויקט שמכיל את הטבלה

    • ‫DATASET: השם של מערך הנתונים שמכיל את הטבלה

    • ‫EXTERNAL_TABLE_NAME: שם הטבלה

שליחת שאילתות לטבלאות BigLake ולטבלאות חיצוניות

אחרי שיוצרים טבלת BigLake, אפשר להריץ עליה שאילתות באמצעות תחביר GoogleSQL, בדיוק כמו בטבלה ב-BigQuery. לדוגמה, SELECT field1, field2 FROM mydataset.my_cloud_storage_table;.

מגבלות

  • ‫BigQuery תומך רק בשליחת שאילתות לטבלאות Delta Lake reader בגרסה 1.

  • השילוב בין Hudi ל-BigQuery פועל רק עם טבלאות מחולקות למחיצות (Partitions) בסגנון Hive‏ copy-on-write.

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