学生问:想把mysql数据库里面的一万条数据通过查询语句,放入到tableau中去画图,在tableau中运行查询语句时出现如下错误:
有哪位大佬能帮忙看下 这个问题怎么解决吗?tableau连接mysql
[MySQL][ODBC 8.0(w) Driver][mysqld-8.0.19]Lost connection to MySQL server during query
错误代码:9F80FB23
学生:几百万是没出过问题,数据量大了怎么处理这是个问题
没有用表连接 我就是用SQL提取了几个字段 然后计算了几个字段 仅此而已
老师:看来是不同的软件进行连接吞吐量产生的问题导致的
这个错误提示和你那个错误提示解释很接近,见如下链接
https://www.cda.cn/discuss/post/details/600b7fcaa49be16f4fdd9b52
学生:是的
学生:我前几天用python把这些数据合并之后。。。30G,然后 不敢动。
老师:那你不可能把这么多数据放入tableau中
学生:也是
老师:你为什么想要把这么多数据放进tableau,tableau不是画图的数据吗?
学生:
没有 我不是把这么多放进去
我是用自定义SQL查询
等于就是几个维度的汇总
这个数据的话应该就200M这样子 我昨天用Mysql跑完保存下来就只有200M
我要的就是这个数据 不是直接用tableau去跑这30G的数据
老师:
那你可以先在mysql里面去查询,你看看在mysql里面是否能够执行,
我估计在mysql里面都够呛
mysql是中小型数据库
学生:mysql可以的
老师:mysql里面查询用了多上时间
学生:36秒
老师:
那还挺快的,你可以直接拿查询结果画图吗
学生:mysql我不会 哈哈哈
老师:那你怎么写的查询语句?
学生:查询语句我会 但是怎么画图我不会
老师:你的查询结果大概有多少条,就是用于画图的数据
学生:噢 你意思把数据导出 然后再用tableau?
400W不到
老师:
因为我都没用过,所以不太清楚,我的感觉是生成一个动态查询表(大概400万),然后根据这个表画图
我不知道是否有这个概念
你画什么图,用这么多数据
学生:
这是用户过往两个月的购买情况 用户分析来的~
老师:
那你这个销量不错啊,是哪个行业
学生:社区团购
卖的都是几捆菜几斤果
老师:
每一行都是一次购买记录吗
学生:
不是 每一行是用户一天购买的情况
原始数据是一行一次购买记录
老师:
那你这个数据量也好大
我那2千万,到现在都没有跑完
学生:我昨天新买的电脑
老师:
跑到最后很可能告诉我失去连接
学生:
5分钟就跑完了
是真**吃内存卧槽
老师:
我昨天重装的电脑,感觉比以前还慢
那是,跑程序的时候,其他东西几乎动不了
学生:哎
老师:
你在tableau里面写的查询语句给我发下
学生:
就正常的跟sql一样的
select 统计日期,用户ID,子订单ID as 流水号,sum(子订单实际支付金额) as 当日消费金额,sum(商品销量) as 当日购买件数 from order_details
group by 统计日期,用户id limit 10;
老师:
看起来这个查询语句挺简单的呀。
学生:
是的
只是单纯的数据量大而已
也不涉及表连接。。。
老师:
数据量太大了执行一次排序都要用好长时间
所以咱们才有专门的大数据课程
到时候就要鸟枪换炮
学生:
暂时没时间学啊 哈哈哈
老师:
你先在mysql中用查询,生成你需要的表,然后让tableau和数据库连接,然后用那个表画图
看这样是否能实现
学生:
噢 我懂了
就是把那个查询结果保存未mysql得一张表
然后tableau直接连这个表 是这个意思吧~
老师:
对
学生:**的。。之前没想到
到此这个问题总算是解决了。
此问题的关键点,是尽量避免将一个非常大的数据从数据库中放到到另一个软件中,因为软件接口数据流没那么大,比较费时间或者干脆不成功,建议尽量软件内部加工,加工好之后再放入其他软件。








暂无数据