创建ga_realtime_sessions表 使用BigQuery API或UI创建table,并指定schema。
实时流式数据输入 可以通过 Google Analytics 实时数据 API 等方式,将实时数据流式输入到 ga_realtime_sessions 表中。
定期清理数据 由于实时数据输入的特性,ga_realtime_sessions表的数据会持续增长,需要定期清理以保证表的查询性能。 可以使用BigQuery的默认数据保留策略,自动删除过期数据,也可以自定义保留策略。
代码示例: 创建table:
CREATE TABLE mydataset.ga_realtime_sessions
(
date DATE,
fullVisitorId STRING,
sessionId STRING,
visitId STRING,
hits RECORD
)
使用Google Analytics实时数据API实时流式数据输入:
from google.oauth2 import service_account
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from google.cloud import bigquery
creds = service_account.Credentials.from_service_account_file(
'creds.json')
build('analyticsreporting', 'v4', credentials=creds)
bq_client = bigquery.Client()
def insert_row(row):
#Insert a row into the ga_realtime_sessions table
row = (row['date'], row['fullVisitorId'], row['sessionId'], row['visitId'], row['hits'])
rows_to_insert = [row]
errors = bq_client.insert_rows(table,
rows_to_insert)
if errors:
print(errors)
else:
print('Row added to ga_realtime_sessions table')
自定义数据保留策略:
CREATE VIEW mydataset.ga_realtime_sessions_with_retention
AS
SELECT *
FROM mydataset.ga_realtime_sessions
WHERE date >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)