跳转到主要内容

概述

OneSignal + Starburst Enterprise 集成使您能够将自定义事件从 Starburst Enterprise 集群同步到 OneSignal,以触发基于用户行为的自动化消息活动和旅程。 Starburst Enterprise 是 Trino 的商业发行版,专为跨多个数据源的企业分析和数据湖查询而设计。

要求

  • 访问自定义事件(目前处于测试阶段)
  • 升级账户计划(免费应用不可用)。

Starburst Enterprise 要求

  • 具有网络访问权限的 Starburst Enterprise 集群
  • 具有适当权限的用户凭据
  • TLS 连接支持(OneSignal 必需)
  • 可通过 Starburst 目录访问的事件数据

设置

1

获取 JDBC 连接详细信息

按照 Starburst 的文档获取您所需集群的 JDBC URL。Example JDBC URL:
jdbc:trino://census-example-cluster.trino.galaxy.starburst.io:[email protected]/accountadmin
为 OneSignal 提取主机名:
census-example-cluster.trino.galaxy.starburst.io
OneSignal 使用 JDBC 连接到 Starburst Enterprise。您只需要 JDBC URL 的主机名部分。
2

配置 Starburst Enterprise 连接

在 OneSignal 中,前往 数据 > 集成,然后点击 添加集成选择 Starburst Enterprise 并提供以下连接详细信息:
  • 主机: 您的 Starburst 集群主机名(来自步骤 1)
  • 用户名: 您的 Starburst 用户名
  • 密码: 您的 Starburst 密码
  • 端口: 443(默认)或您的自定义端口
3

配置高级同步引擎(可选)

为了提高性能,设置专用的 CENSUS 目录:
  1. 创建一个名为 CENSUS 的目录,包含一个名为 CENSUS 的模式
  2. 确保您的连接器支持:
    • CREATE TABLEDROP TABLE 操作
    • 表写入(INSERT、DELETE、UPDATE)
    • CREATE OR REPLACE TABLE 语句
  3. 向您的 OneSignal 用户授予 CENSUS.CENSUS 模式的完全权限
测试配置包括 MySQL、PostgreSQL、Snowflake、Iceberg 和 Starburst Delta Lake 连接器。

事件数据映射

将您的 映射到 OneSignal 的自定义事件格式:
OneSignal 字段描述必需
nameevent_name事件标识符
external_iduser_id用户标识符
timestampevent_timestamp事件发生时间
propertiesevent_data

事件查询示例

-- Example: Recent high-value events across catalogs
SELECT
    event_name,
    user_id,
    event_timestamp,
    CAST(event_properties AS JSON) as event_properties
FROM catalog.schema.user_events
WHERE event_timestamp >= current_timestamp - INTERVAL '7' DAY
    AND JSON_EXTRACT_SCALAR(event_properties, '$.value') > '100'
ORDER BY event_timestamp DESC;

企业数据湖查询

-- Example: Federated query across enterprise data sources
SELECT
    'enterprise_activity' as event_name,
    u.user_id,
    current_timestamp as event_timestamp,
    JSON_FORMAT(JSON_OBJECT(
        'crm_interactions', c.interaction_count,
        'warehouse_orders', w.order_count,
        'lake_analytics', l.score_value
    )) as event_properties
FROM salesforce_catalog.users.accounts u
LEFT JOIN crm_catalog.interactions.summary c ON u.user_id = c.user_id
LEFT JOIN warehouse_catalog.orders.summary w ON u.user_id = w.user_id
LEFT JOIN datalake_catalog.analytics.scores l ON u.user_id = l.user_id
WHERE u.created_date >= current_date - INTERVAL '30' DAY;

同步引擎选项

基本同步引擎

  • 与任何 Starburst 目录和连接器兼容
  • 由 OneSignal 基础设施管理状态跟踪
  • 更简单的设置,无附加要求

高级同步引擎

  • 通过本地状态跟踪提高性能
  • 需要专用的 CENSUS.CENSUS 目录和模式
  • 支持具有表写入操作的连接器
  • 推荐用于大量企业事件处理

支持的连接器

OneSignal 的高级同步引擎已经过以下测试:
  • MySQL 连接器(读写模式)
  • PostgreSQL 连接器(读写模式)
  • Snowflake 连接器(读写模式)
  • Iceberg 连接器(使用 S3 和 AWS Glue)
  • Starburst Delta Lake 连接器(使用 AWS Glue 目录)

企业功能

多源联合

  • 在单次同步中跨企业数据源查询
  • 结合 CRM、数据仓库和数据湖事件数据
  • 来自不同系统的统一客户事件配置文件

安全与合规

  • 企业级身份验证和授权
  • 行级安全和列遮罩支持
  • 用于数据访问跟踪的审计日志记录

限制

  • 需要 TLS 连接(OneSignal 安全要求)
  • 高级同步引擎需要 CREATE OR REPLACE TABLE 支持
  • 尚不支持数据仓库写回(即将推出)
  • 无法在 WITH 子句中提供自定义表选项

常见问题

如何获取 Starburst Enterprise 主机名?

按照 Starburst 的文档获取您的 JDBC URL,然后提取仅主机名部分(不包含 jdbc:trino:// 前缀)以在 OneSignal 中使用。

我可以查询多个企业数据源吗?

是的!Starburst Enterprise 的联合查询功能允许您在单个查询中结合来自多个企业数据源(Salesforce、SAP、Oracle 等)的事件数据。

哪个 Starburst 版本支持高级同步引擎?

检查您的 Starburst Enterprise 发行说明以获取 CREATE OR REPLACE TABLE 支持,这是高级同步引擎功能所必需的。
I