如何解决BigTable 聚合数据
我一直在尝试将 BigTable 与 BigQuery 连接器一起使用。当我尝试从 100 万行测试查询性能时,我得到了大约 50 秒的查询速度结果。 我的 SQL:
SELECT
DATE(geo_table_cell.timestamp) AS day,geo_table_cell.value,COUNT(*) AS countNumber
FROM
`project-dev.project_dev_bt_eu.dev-project`,UNNEST(geo.COLUMN) AS geo_table,UNNEST(geo_table.cell) AS geo_table_cell
WHERE
geo_table.name = 'cc'
AND rowkey LIKE 'profile%'
GROUP BY
geo_table_cell.value,DATE(geo_table_cell.timestamp)
我的问题是:
- 从 BigTable 聚合数据的最佳解决方案是什么? (来自 ElasticSearch 的相同聚合需要不到约 2 秒)
- 为什么 BigQuery 在使用 BigTable 连接器时会变慢?
- 如果我理解正确的 BigTable 不是将数据呈现给仪表板的好选择(过滤器的工作速度非常慢);
解决方法
1.- 如果查询速度是必须的,here 进入 BigQuery 而不是设置外部数据源将是最有效的方法。 不过,您可以采取一些措施来提高 loading the data 或 BigQuery 的性能。
2.- 此连接器仍处于 Beta 阶段,并且有一些 BigTable。我们还应该考虑到 BigTable 是一个 noSQL(非关系)数据库,不适用于 SQL 查询。 如果您正在探索要在应用程序中使用的数据模型,我建议您考虑 performance considerations 并选择更适合您需求的模型。
3.- 如果您想使用 SQL 查询数据,我会说这不是一个好的选择。了解 BigTable 的非关系架构,读取数据的最有效方法是发送 all these options。您可以在 read requests 中找到一些与此相关的不同语言的代码示例。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。