从 PubSub 到 Java API 的 Snowplow 数据处理

问题描述

我正在使用 SNowplow 进行行为数据跟踪。我可以使用 SNowplow loader (& mutator) 开源代码 (https://docs.snowplowanalytics.com/docs/getting-started-on-snowplow-open-source/setup-snowplow-on-gcp/setup-bigquery-destination/) 将 Pub/Sub 中的数据使用到 BigQuery,但我想将 Pub/Sub 中的数据直接使用到 Java API。

但是,来自 Pub/Sub 的数据是非结构化的,没有 String 格式的架构。数据中包含“\t”作为分隔符以及“{}”来存储一些schema,可能需要进行字符串处理才能进行数据格式化。

是否有其他更好的方法来将数据从 Pub/Sub 解码为 Java API,而不是编写复杂的字符串处理。谢谢!

解决方法

Snowplow 维护着许多所谓的“分析 SDK”,可让您将丰富的混合 tsv + JSON 格式转换为可在下游应用程序中使用的纯 JSON。

对于 Java,您最好的选择可能是 Scala Analytics SDK:https://github.com/snowplow/snowplow-scala-analytics-sdk

还有适用于 .NETGoJavaScriptPython 的 SDK:https://github.com/snowplow/snowplow/tree/master/5-data-modeling/analytics-sdk