在WordPress中导入大数据,并在前端以表格的形式显示



我有大约1000万行数据,我试图在WordPress中上传使用Ninja Tables将其显示在分页表上。我有10个CSV文件,每个文件包含100万行。每个文件大约300 MB。

我尝试将max_memory_limit, upload_max_filesize, post_max_size增加到700 MB左右。此外,我还将max_execution_time和max_input_time增加到3000秒。我尝试了以下插件来导入WordPress中的表:

  1. Ninja Tables Import Table Function
  2. 表按从CSV中导入数据
  3. WP Data Access

有时会出现严重错误,因为内存限制耗尽,或者我会让服务器崩溃。

然后我将所有这些限制增加到1024 MB。我不再得到严重错误,但出现导入失败错误,或弹出"未定义"出现。

在WordPress中导入如此大量的数据,我们是否有其他的替代方法,以便我可以在前端显示?谢谢。

大量数据的摄取是一个臭名昭著的数据中心操作问题。在你提到的规模(3GiB, 10兆),它通常是通过某种直接连接到关系数据库管理系统(rdbms: MySQL或MariaDB)的导入程序来完成的,而不是通过WordPress/php/web服务器等web应用程序进行文件上传过程。phpMyAdmin也是一个php/web服务器应用程序,会出现与WordPress相同的操作问题。

数据库客户端程序,如MySQL Workbench或HeidiSQL可以做到这一点,如果你可以连接到你的数据库。这些程序(以及许多其他程序)具有csv导入功能。

编辑以下是您可以遵循的流程。

  1. 备份你的网站
  2. 用你的WordPress表插件创建表。
  3. 上传几十行CSV数据到您的表格插件。这样你就可以看到它把它们放在哪里了。
  4. 在您的个人机器上下载并安装数据库客户端程序,如MySQL Workbench或HeidiSQL,您的CSV文件所在的机器。
  5. 将该程序连接到运行在您的液滴上的MySQL或MariaDB服务器软件。您需要数据库用户名、密码和数据库名称(wp-config.php中的内容)。而且,您可能需要做一些事情来允许远程访问。Digital Ocean有很好的文档。以下是他们对允许远程访问的解释。
  6. 在你的程序中有一个数据库表列表。查找插件放置这几百行数据的表名。
  7. 使用CSV导入功能。从一个小的CSV开始,再添加几百行。进行实验,并计算出加载这些行所需的移动。
  8. 在进行实验时,您可能会将一堆垃圾行加载到表中。当你知道如何加载时,重新开始,用插件重新开始。扔掉你的垃圾表,从第二步开始。
  9. 上传csv文件
  10. 也许,当您完成后,为了安全起见,撤销您在步骤5中设置的远程数据库访问。

如果您必须使用内置在Ninja Tables、其他插件或phpmyadmin中的web服务器上传工具,您可能应该将您的输入CSV文件拆分为许多较小的文件。如果您处理的CSV文件每行最多包含50K行,那么它可能会工作。但这意味着你必须处理200个CSV文件,这将是一个巨大的麻烦。

插件供应商的支持人员可以帮助您完成此操作。

最新更新