OverviewArchitectureRecipeSourceProcessorSinkContext Graph for AI
OverviewArchitectureRecipeSourceProcessorSinkContext Graph for AI

BigQuery

Extracts table metadata from Google BigQuery: schema, partitioning, labels, preview rows, column profiles, and usage stats. It emits table entities, and view lineage as edges.

scope is optional for this extractor. The project ID is used as the URN scope.

Usage

source:
  name: bigquery
  config:
    project_id: google-project-id
    service_account_base64: ____base64_encoded_service_account____
    exclude:
      datasets:
        - dataset_a
      tables:
        - dataset_c.table_a
    include_column_profile: true
    build_view_lineage: true

Configuration

KeyTypeDescriptionRequired
project_idstringBigQuery project ID.Yes
service_account_base64stringBase64-encoded service account JSON. Takes precedence over service_account_json.No
service_account_jsonstringService account credentials as a JSON string.No
max_page_sizeintPage size hint for BigQuery API list calls. Default: 100.No
dataset_page_sizeintPage size for listing datasets. Falls back to max_page_size.No
table_page_sizeintPage size for listing tables. Falls back to max_page_size.No
table_patternstringRegex pattern. Only tables whose dataset.table name matches are extracted.No
exclude.datasets[]stringDataset IDs to skip.No
exclude.tables[]stringTables to skip, in datasetID.tableID format.No
exclude.labelsmap[string]stringTables with any matching label key-value pair are skipped.No
include_column_profileboolProfile each column (min, max, avg, med, unique, count, top). Runs extra queries.No
max_preview_rowsintNumber of preview rows to fetch. -1 omits the preview keys entirely. Default: 30.No
mix_valuesboolShuffle column values across preview rows for privacy. Default: false.No
build_view_lineageboolParse view SQL to emit upstream lineage edges. Default: false.No
collect_table_usageboolCollect table usage statistics from BigQuery audit logs. Default: false.No
usage_period_in_dayintNumber of days of audit logs to scan. Default: 7.No
usage_project_ids[]stringGCP project IDs to scan for audit logs. Defaults to project_id.No
concurrencyintNumber of tables to process concurrently. Default: 10.No

Output

Entity type: table

URN pattern: urn:bigquery:{project_id}:table:{project_id}:{dataset_id}.{table_id}

Notable properties:

PropertyDescription
full_qualified_nameFully qualified table name (project.dataset.table).
dataset, projectDataset ID and project ID.
typeBigQuery table type (TABLE, VIEW, MATERIALIZED_VIEW, and so on).
columnsColumn schema: name, data type, description, mode, nullability, policy tags, nested columns. Includes a per-column profile when include_column_profile is on.
partition_dataPartition field and time or range partition settings.
clustering_fieldsFields the table is clustered on.
sqlView SQL query (views and materialized views only).
preview_fields, preview_rowsSample data, controlled by max_preview_rows.
profileUsage stats (row count, query count, common joins, filters) when collect_table_usage is on.
create_time, update_timeTimestamps (RFC 3339).
labelsBigQuery table labels.

Edges

Edge typeFromTo
derived_fromView or materialized view tableEach upstream table parsed from the view SQL. Emitted only when build_view_lineage is true.

Notes

  • If you leave both service_account_json and service_account_base64 blank, the extractor uses Google Application Default Credentials. This is the recommended setup when Meteor runs inside GCP.
  • The service account needs the bigquery.privateLogsViewer role to collect audit logs for table usage.
Application YAMLBigtable
On this page
UsageConfigurationOutputEdgesNotes