我在研究使用BigQuery以时间序列存储传感器数据的可行性。目的是将数据存储在BQ中,并将其处理成Pandas ......迄今为止这么好...... Pandas可以解释TIMESTAMP字段索引并创建一个Series。任意标签的BigQuery架构设计
另一个要求是数据支持任意标签作为键/值对(例如job_id = 1234,task_id = 5678)。 BigQuery的可记录类型重复场很好地支持这一点:
{'fields':
[
{
"mode": "NULLABLE",
"name": "timestamp",
"type": "TIMESTAMP"
},
{
"mode": "REPEATED",
"name": "tag",
"type": "RECORD",
"fields":
[
{
"name":"name",
"type":"STRING"
},
{
"name":"value",
"type":"STRING"
},
{
"mode": "NULLABLE",
"name": "measurement_1",
"type": "FLOAT"
},
{
"mode": "NULLABLE",
"name": "measurement_2",
"type": "FLOAT"
},
{
"mode": "NULLABLE",
"name": "measurement_3",
"type": "FLOAT"
},
]
},
]
}
这对于存储数据的伟大工程,甚至用于查询的伟大工程,如果我只需要上的一个键/值组合筛选
SELECT measurement_1 FROM measurements
WHERE tag.name = 'job_id' AND tag.value = '1234'
但是,我也需要能够在查询表达式中结合标签集,而且我似乎无法完成这项工作。例如,此查询不会返回任何结果
SELECT measurement_1 FROM measurements
WHERE tag.name = 'job_id' AND tag.value = '1234'
AND tag.name = 'task_id' AND tag.value = '5678'
问题:是否可以使用此架构来制定查询来执行我想要的操作?将这种类型的变量数据附加到Big Query中另外修复的模式的建议方法是什么?
感谢您的任何帮助或建议!
注意:如果你认为这看起来像InfluxDB的一个很好的修复,这是因为这是我迄今为止使用的。看似不可逾越的问题是我的数据集中的系列基数的数量,所以我正在寻找替代品。
为什么标记python,熊猫和时间序列? – Kartik
重要的是,您可以使用投票下方已发布答案左侧的勾号标记接受的答案。请参阅http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235了解其重要性。答案投票也很重要。表决有用的答案。还有更多......当某人回答你的问题时,你可以查看该怎么做 - http://stackoverflow.com/help/someone-answers。 –