| [ Web Proxy ] |
| Viewing: https://docs.metarouter.io/docs/google-bigquery-streaming#additional-google-bigquery-documentation | [Back] [Original] |
Google BigQuery is a fully-managed, server-less data warehouse that enables scalable and fast SQL queries using the processing power of Google's infrastructure. It is designed to handle large datasets, allowing users to analyze terabytes of data in seconds and petabytes in minutes.
MetaRouter provides an efficient Extract, Transform and Load (ETL) platform that streams structured customer data into BigQuery in real-time. Ensure that data is always structured properly with MetaRouter' parameter-by-parameter data mapping and transformation playbooks.
Workload Identity:
Event Name and Table Matching:
The event name specified in MetaRouter will match the table name inside of BigQuery. Changing the name of the event will create a new table.
false for BIG_QUERY_OPTIONS under the connection parameters, then you do not have to give bigquery.datasets.create permission in the IAM role--the integration will not create a new dataset, and no events will be delivered if the event does not exist.We cannot route events to custom names tables.
Event Table Schema Consistency:
Data Type Consistency:
Table Overrides Behavior:
TABLE_OVERRIDES will be routed to their specified tables.DEFAULT_TABLE_OVERRIDE is not provided, any event not listed in TABLE_OVERRIDES will be stored in a new table called events.DEFAULT_TABLE_OVERRIDE is provided, events not defined in TABLE_OVERRIDES will be sent to the specified default table.TABLE_OVERRIDES and DEFAULT_TABLE_OVERRIDE fields are optional. If neither is provided, each event will be stored in a BigQuery table named after the event (default behavior).DEFAULT_TABLE_OVERRIDE: "catch_all_events"
TABLE_OVERRIDES:
identify: identities
page: page_view
products_searched: search
my-project-id.BIG_QUERY_OPTIONS as false in the connection parameters, then you do not have to give permission to create a dataset.CREDENTIALS field empty in your MetaRouter BigQuery integration configuration. When no credentials are provided, the integration automatically falls back to GCP default credentials, which Workload Identity supplies.BIG_QUERY_OPTIONS as false in the connection parameters, then you do not have to give permission to create a dataset.CREDENTIALS :
From the integration library, add a Google BigQuery integration. Then, fill out the Connection Parameters:
| Connection Parameter | Description |
|---|---|
BIG_QUERY_OPTIONS | Select true if you would like the integration to create a dataset if it does not exist for an event. If you select false, then you do not have to give bigquery.datasets.create permission in the IAM role--the integration will not create a new dataset, and no events will be delivered if the event does not exist. |
CREDENTIALS | JSON key from file downloaded from Google Cloud Console. |
DATASET | Name of dataset. If inputting a name of a dataset that doesnt exist, then the integration will create a new dataset with the given name. Please follow dataset naming best practices as outlined https://cloud.google.com/bigquery/docs/datasets#dataset-naming. |
PROJECT_ID | Project ID gathered from Google Cloud Console. |
REGION | Location specified for your BigQuery dataset. ENUM accepting string values, please see https://cloud.google.com/bigquery/docs/locations#regions. |
DEFAULT_TABLE_OVERRIDE | Specifies a default table name for events not explicitly mapped. Optional, please see Important Notes section. |
TABLE_OVERRIDES | A key-value object where the key represents an event name, and the value specifies the corresponding BigQuery table name. Optional, please see Important Notes section. |
Due to the complexity of event mapping in BigQuery, it is highly recommended to reach out to the MetaRouter team and collaborate with a solutions engineer. While MetaRouter includes recommended parameters under Global mapping, you will need to accurately map events when initially building out the integration. This collaboration ensures precise and efficient configuration tailored to your specific needs.
Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.
Ensuring event and data consistency is crucial when using BigQuery with MetaRouter. Please see Notes and Limitations above.
| Output Key | Description | Expected Input |
|---|---|---|
id | String: A unique identifier for the message. This field ensures each event can be uniquely identified and tracked. | messageId |
user_id | String: A unique identifier for the user. | userId |
previous_id | String: The identifier for the previous event. | previousId |
anonymous_id | String: An anonymous identifier for the user. | anonymousId |
original_timestamp | Timestamp: The original timestamp of the event. | originalTimestamp |
received_at | Timestamp: The timestamp when the event was received. | receivedAt |
sent_at | Timestamp: The timestamp when the event was sent. | sentAt |
timestamp | Timestamp: The timestamp of the event. | timestamp |
integrations | String: Integration-specific options or overrides. | integrations |
type | String: The type of event (e.g., identify, track). | type |
event | String: The name of the event. | event |
name | String: The name associated with the event. | name |
category | String: The category associated with the event. | category |
| The context object in MetaRouter provides useful information about the environment in which an event occurred. This can include details about the page, device, browser, location, and more. | context | |
| Traits are attributes that describe a user or a group. When you call the identify method, you can pass in a traits object that includes key-value pairs of user information such as name, email, phone number, etc. | traits | |
| Properties are specific to events and provide additional context about the event itself. For instance, in a purchase event, properties might include details like the order value, product ID, quantity, and payment method. These are different from traits because they are transient and event-specific rather than being persistent attributes of a user. | properties |
Google BigQuery - Data Types
Updated 6 months ago
| Web Proxy Viewer | New URL | Original Page |