使用查询生成器处理大型 CSV 文件今天我和一位客户聊了聊查询生成器。客户有一些很大的 CSV 文件(3GB 以上)。他们尝试直接将这些数据加载到 JMP 中,但性能受到了显著的影响。他们之所以想导入这些数据,是为了从中抽取更合理的部分进行分析。他们想知道查询生成器是否可以直接处理 CSV 文件。
我建议使用 SQLite 的数据库浏览器将 CSV 转换为 SQLite 数据库,然后使用查询生成器进行查询,这非常容易。我没想到直接访问是不可能的。我想看看有没有人对此有什么策略或想法。
有什么想法吗?
M
回复:使用查询生成器处理大型 CSV 文件更新:ActualTech 发现了这个 bug,正在更新驱动程序以及一些 Mojave 支持相关的问题。他们还没有告诉我更新的预计发布时间。
米回复:使用查询生成器处理大型 CSV 文件哎呀——原来有办法直接在查询生成器中处理 CSV 文件。微软(Windows)和 ActualTech(MacOS)都开发了驱动程序,允许你将 CSV、TSV 和 XSLX 文件作为数据源……这意味着它们可以通过查询生成器的 ODBC 进行查询。这带来的选项真是令人兴奋……
对于 Windows,您需要安装访问驱动程序集。我在这里找到了一些可用的驱动程序( https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=13255 )。然后只需设置新的数据源即可。我使用我的 Windows 7 虚拟机验证了 CSV 文件可以正常工作。
(编辑 - 更新的驱动程序集在这里: https://www.microsoft.com/en-us/download/details.aspx? id=54920)
对于 Mac,您可以使用 ActualTech 的 Access 驱动程序。它也很容易设置,但查询行为存在一些问题。我很确定这是驱动程序的问题,所以我向 ActualTech 咨询了这个问题。我会在收到他们的回复后更新此信息。连接和查询都可以正常工作,但它似乎会不停地重复显示结果。(例如,对于一个包含 300 行的 csv 文件,在我终止查询之前,结果可能会多达 100 万行,结果仍然是按顺序重复显示这 300 行)。
那么——Windows,你最好把这个展示给客户。Mac——我们稍等一下。
米
回复:使用查询生成器处理大型 CSV 文件可能不行——我完全忘了这一点……这话说得挺好,不过我觉得他们其实更想直接在 CSV 文件上使用 QB。或许加上数据表 QB 会是个不错的解决方案。
米回复:使用查询生成器处理大型 CSV 文件顺便说一句,我指的是直接文本导入,而不是查询生成器。回复:使用查询生成器处理大型 CSV 文件他们确实将首选项设置为仅扫描列类型 5 秒,而不是扫描整个文件,对吗?
布莱恩
回复:使用查询生成器处理大型 CSV 文件它最终会读入文件,但问题是 JMP 会尝试读取整个文件,然后再决定如何处理。所以,这不是硬件问题,而是 JMP 处理平面文件的方式出了问题。
米回复:使用查询生成器处理大型 CSV 文件你知道这是否只适用于PC吗?我找不到任何关于Mac的信息。回复:使用查询生成器处理大型 CSV 文件这是我最初的想法——但是“带预览的数据”选项需要 JMP 解析整个文件才能获得预览……这很慢。它不会挂起,只是在获得任何选项之前,需要花很长时间进行文件的初始读取。
米回复:使用查询生成器处理大型 CSV 文件麦克风,
您知道安装了多少 RAM 吗?
他们还开放了哪些其他应用程序?
一般来说,最小 RAM = 文件大小的 2 倍,或者在这种情况下,打开单个 3GB 文件的最小 RAM 至少需要 6GB RAM。
他们试图打开 3GB 文件中的 1 个以上文件吗?
直接用 Excel 打开每个 CSV 文件需要多长时间?我预计在 JMP 中打开 CSV 文件的时间应该差不多。
斯坦
回复:使用查询生成器处理大型 CSV 文件如果您安装了 Office,Microsoft 会提供用于文本的 ODBC 驱动程序。但是,我不确定它是否能解决性能问题。它允许开发人员通过数据库查询生成器执行简单的 Where 子句,而无需将文本文件完全驻留在 JMP 中。
布莱恩
回复:使用查询生成器处理大型 CSV 文件在“预览数据”下打开文件时,您可以创建 CSV 的子集。他们能做到吗?还是他们的机器在操作过程中会卡死?