CREATE TABLE orders_rw (
order_id INTEGER PRIMARY KEY,
customer_id INTEGER,
order_status VARCHAR,
total_amount DECIMAL,
last_updated TIMESTAMP)
INCLUDE file as file_name
INCLUDE offset -- default column name is `_rw_s3_offset`
WITH (
connector = 's3',
match_pattern = '%Ring%*.ndjson',
s3.region_name = 'ap-southeast-2',
s3.bucket_name = 's3-source',
s3.credentials.access = 'credentials_access',
s3.credentials.secret = 'credentials_secret',
s3.endpoint_url = 'https://s3.us-east-1.amazonaws.com'
) FORMAT PLAIN ENCODE JSON;
CREATE SINK big_query_sink_local AS
SELECT
order_status,
COUNT(*) as order_count,
SUM(total_amount) as total_revenue,
AVG(total_amount) as avg_order_value,
MIN(last_updated) as first_order_time,
MAX(last_updated) as last_order_time
FROM orders_rw
WITH (
connector = 'bigquery',
type = 'append-only',
bigquery.local.path = '/path/to/my/service-account.json',
bigquery.project = 'my_project_id',
bigquery.dataset = 'my_dataset',
bigquery.table = 'my_table',
force_append_only = 'true'
);