我能够连接画面与我的数据库,但桌子的大小真的很大。每次尝试将表格加载到画面时,都会崩溃,而且我无法找到任何解决办法。表格大小从1000万到4亿行不等。我应该如何处理这个问题的任何建议?如何将大表加载到画面以进行数据可视化?
回答
我发现了一个简单的解决方案,用于优化Tableau以处理非常大的数据集(10亿行):Google BigQuery,它本质上是一个托管数据仓库。
- 上传数据到BigQuery(您可以将多个文件附加到一个表中)。
- 链接该表到的Tableau作为外部数据源
的Tableau然后每当请求一个新的“视图”发送类似SQL命令至BigQuery。 Google的计算硬件可以快速处理查询,然后将少量信息发送回Tableau。
这种方法允许我在MacBook上可视化一个100亿行移动呼叫记录数据集,大约有10亿行。
不确定您的用例是什么,但我发现您不需要为一个Tableau视图提供所有数据。
您可以使用数据库中的视图或Tableau连接中的自定义SQL来解析/聚合数据。此外,尝试使用提取而不是实时数据库连接,因为它们会更快地执行预制。
我喜欢在数据库中使用视图,然后使用这些视图刷新Tableau Server上的Tableau数据提取。
有两种方法来解释这个问题:
数据源(其可以是单个表,视图,等等)具有10M到400M行和的Tableau在一些点崩溃加载过程。在这种情况下,我建议您联系Tableau技术支持。他们非常喜欢听到这样的情况,并通过它们帮助人们。
您正试图创建一个具有N个记录的可视化文件(如文本表或交叉表),从而生成10M到400M的显示行。在这种情况下,您将进入Tableau不适用的领域。一个包含10M行的文本表除了导出到别的东西外并不会有用,在这种情况下,有比Tableau更好的工具来完成此操作(例如内置于大多数数据库中的导出/导入工具)。
您不会将数据“加载”到Tableau中,因此可以将Tableau指向外部数据源。然后,Tableau将查询发送到外部数据源,仅请求创建您设计的可视化所需的摘要信息(又称查询结果)。
因此,对于极端的示例,如果将CNT(记录数)放置在列架子上,Tableau会向外部数据库发送一个简单的简短查询,要求它报告记录数。沿着“从xxx选择计数(*)”的行。
因此,即使外部数据库中有数十亿行,Tableau也会向数据库(查询)发送少量信息并接收少量信息(查询结果)以显示。这使得Tableau在其结束时速度非常快,并且性能取决于外部数据库对查询作出响应的速度。调整数据库取决于各种因素:内存和磁盘的类型和数量,索引设置方式等。
因此,第一步是确保数据库可以根据需要执行,而不管Tableau如何。
这就是纯粹的回应。现在有几个凌乱的细节。可以在Tableau中设计一个非常复杂的可视化文件,它将发送一个复杂的查询请求一个非常大的结果集。例如,您可以设计一个仪表板,为数据库中的每一行在地图上绘制一个点,然后每次将鼠标移动到地图上的标记上时刷新大量数据。
如果您有数百万或数十亿的数据行,并且您想要高性能,那么不要这样做。无论如何,用户无法读取6000万个点,他们当然不希望等待它们通过网络发送。相反,首先绘制汇总值,最小值,最大值,总和,平均值等,然后根据需求深入了解更多细节。
正如其他人所建议的那样,您可以使用Tableau提取工具将工作负载和缓存数据卸载到Tableau快速使用的表单中。提取与存储在Tableau中的优化实例化视图类似。提取对于加快Tableau非常有用,但如果要获得高性能,则可以过滤和聚合提取以仅包含支持视图所需的详细数据和级别。如果您盲目地提取整个数据库的摘录,则只需将所有数据从一种数据库形式复制到另一种形式。
谢谢亚历克斯:)这是一个很有帮助的回应。我的数据库源是1010data
不客气。欢迎来到Stack Overflow。顺便说一句,感谢某人提供有用答复的最佳方式是接受并赞扬答案...... –
我发现了一个简单的解决方案,用于优化Tableau以处理非常大的数据集(10亿行):Google BigQuery,它本质上是一个托管数据仓库。
将数据上传到BigQuery(您可以将多个文件附加到一个表中)。 将该表作为外部数据源链接到Tableau Tableau随后在每次请求新的“视图”时向SQL查询发送类似SQL的命令。 Google的计算硬件可以快速处理查询,然后将少量信息发送回Tableau。
这种方法允许我在MacBook上可视化一个100亿行移动呼叫记录数据集,大约有10亿行。
- 1. 如何将启动画面加载视图直到其加载
- 2. 如何将谷歌可视化图表加载到div?
- 3. 将数据加载到表中时可以忽略行吗?
- 4. 如何在Google可视化图表上加载JSON数据?
- 5. 如何在Knockout中为表进行可视化数据绑定?
- 6. 如何将数据加载到列表
- 7. 无法可视化加载的数据
- 8. 如何将数据加载到已加载的视图?
- 9. 如何将数据从Mysql Server加载到仪表板视图?
- 10. 如何对谷歌可视化数据数组进行排序
- 11. 大数据库以及如何进行
- 12. 将数据动态加载到表中并使用数据表进行分页
- 13. 如何大量数据加载到数据表
- 14. 用画布进行图像可视化。如何调整它们?
- 15. 将datagridview添加到数据集以可视化地控制主视图?
- 16. 如何将数据加载到MySQL表,但忽略空行
- 17. 谷歌可视化动画当图表加载第一次
- 18. 将数据表加载到数据网格视图问题
- 19. 如何将数据从Mysql数据库加载到Android列表视图
- 20. 如何可以将以下的数据进行
- 21. 将数据加载到Recycler视图之前加载视图
- 22. 将大量数据加载到Postgres Hstore
- 23. 将LUBM大学数据加载到Neo4j
- 24. 如何提取或加载大型数组到列表视图?
- 25. 如何加载页面加载数据?
- 26. 将数据加载到详细视图
- 27. 如何将.csv中的数据加载到数据表中?
- 28. 如何将数据表加载到WPF数据网格
- 29. 如何使用codeigniter将数据库数据加载到表中
- 30. 如何将数据加载到表中清除加载的数据之前?
此解决方案非常棒,感谢分享! – python