【发布时间】:2013-12-11 13:46:35
【问题描述】:
我想从我的客户端组件记录事件并在谷歌的 BigQuery 中分析它们。我的问题是事件有几种不同的类型(未来可能会添加更多类型)——每种事件类型都有不同数量和类型的属性。
例如:
{"事件":"动作",
"属性":{"ts":1384441115,
"distinct_id":"5EB54670",
"action_type":"暂停",
"时间":"5"}}
{"事件":"动作",
"属性":{"ts":1384441115,
"distinct_id":"5EB54670",
“action_type”:“简历”,
"时间":"15"}}
{“事件”:“部分”,
"属性":{"ts":1384441115,
"distinct_id":"5EB54670",
"section_name":"end",
"dl_speed":"0.5 Mbit/s",
"时间":"25"}}
我的问题是 - 我如何在表格数据库中处理这种多样性?我选择 BigQuery 的原因是它能够处理我记录的事件的大数据计算和分析,但要做到这一点,我需要找出记录这些事件的最佳实践。
我考虑了 2 个选项:
1. 有一个大表,其中包含每个事件类型的每个属性的列 - 在这种情况下,每一行都将包含空字段。
2. 每种事件类型都有一个单独的表 - 这引发了两个问题 - 未来的事件将需要新表,甚至更糟糕 - 我失去了对所有事件执行计算的能力(因为所有事件共享一些属性,如 ts、distinct_id 和时间)
我很确定我不是在用我的用例发明轮子,所以我很想听听你们的最佳实践。谢谢!
阿米特
【问题讨论】: