pyt*_*hon 5 database sql-server bigdata tableau-api tableau-server
我能够将tableau连接到我的数据库,但这里的表大小非常大.每次我尝试将表加载到tableau中时,它都会崩溃,我无法找到任何解决方法.表大小从1000万到4亿行不等.我应该如何处理这个问题的任何建议?
Ale*_*ore 12
您没有将数据"加载"到Tableau中,而是将Tableau指向外部数据源.然后,Tableau向外部数据源发送查询,仅请求创建您设计的可视化文件所需的摘要信息(也称为查询结果).
因此,对于一个极端的示例,如果在"列"功能区上放置CNT(记录数),Tableau将向外部数据库发送一个简单的短查询,要求它报告记录数."从xxx中选择计数(*)"的行.
因此,即使外部数据库中有数十亿行,Tableau也会向数据库发送少量信息(查询)并收回少量信息(查询结果)以进行显示.这使Tableau的速度非常快,性能取决于外部数据库响应查询的速度.调整数据库取决于各种因素:内存和磁盘的类型和数量,索引的设置方式等.
因此,无论Tableau如何,第一步都是确保数据库可以根据需要执行.
这是纯粹的回应.现在有一些杂乱的细节.可以在Tableau中设计一个非常复杂的可视化,它将发送一个要求非常大的结果集的复杂查询.例如,您可以设计一个仪表板,在地图上为数据库中的每一行绘制一个点,然后每次在地图上的标记上挥动鼠标时刷新大量数据.
如果您有数百万或数十亿的数据行,并且您希望获得高性能,那么请不要这样做.无论如何,用户无法读取6000万个点,他们当然也不想等待它们通过网络发送.相反,首先绘制聚合值,最小值,最大值,总和,平均等,然后根据需要深入研究更多细节.
正如其他人所建议的那样,您可以使用Tableau提取来卸载表单中的工作负载和缓存数据,以便Tableau快速使用.提取类似于存储在Tableau中的优化物化视图.提取对于加速Tableau非常有用,但如果您想要高性能,请过滤并聚合提取,以仅包含支持视图所需的数据和详细程度.如果您盲目地提取整个数据库,只需将所有数据从一种形式的数据库复制到另一种形式.