gpt4 book ai didi

mysql - 在 MySQL 中设置大型数据库以在 R 中进行分析

转载 作者:IT王子 更新时间:2023-10-29 00:32:56 24 4
gpt4 key购买 nike

我在 R 中分析大型数据集时已达到 RAM 的极限。我想我的下一步是将这些数据导入 MySQL 数据库并使用 RMySQL 包。很大程度上是因为我不懂数据库行话,我无法弄清楚如何通过数小时的谷歌搜索和 RSeeking 安装 MySQL(我在 Mac OSX 10.6 上运行 MySQL 和 MySQL Workbench,但也可以运行 Ubuntu 10.04 ).

是否有关于如何开始使用此用法的良好引用?在这一点上,我不想做任何类型的关系数据库。我只想将 .csv 文件导入本地 MySQL 数据库并使用 RMySQL 进行子集化。

我很感激任何指点(包括“你太离谱了!”因为我是 R 的新手和大型数据集的新手......这个大约 80 mb)

最佳答案

RMySQL 的文档非常好 - 但它假定您了解 SQL 的基础知识。它们是:

  • 创建数据库
  • 创建一个表
  • 获取数据到表中
  • 从表中获取数据

第 1 步很简单:在 MySQL 控制台中,只需“创建数据库 DBNAME”即可。或者从命令行使用 mysqladmin,或者通常有 MySQL 管理 GUI。

第 2 步有点困难,因为您必须指定表格字段及其类型。这将取决于您的 CSV(或其他分隔)文件的内容。一个简单的示例如下所示:

use DBNAME;
create table mydata(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
height FLOAT(3,2)
);

创建一个包含 2 个字段的表:id,这将是主键(因此必须是唯一的)并且会随着新记录的添加而自动递增;和高度,此处指定为 float (数字类型),共有 3 位数字,小数点后 2 位(例如 100.27)。了解 data types 很重要.

第 3 步 - 有多种方法可以将数据导入表格。最简单的方法之一是使用 mysqlimport 实用程序。在上面的示例中,假设您的数据位于与表 (mydata) 同名的文件中,第一列是制表符,第二列是高度变量(没有标题行),这将有效:

mysqlimport -u DBUSERNAME -pDBPASSWORD DBNAME mydata

第 4 步 - 要求您知道如何运行 MySQL 查询。同样,一个简单的例子:

select * from mydata where height > 50;

表示“从表 mydata 中获取高度大于 50 的所有行(id + 高度)”。

一旦掌握了这些基础知识,您就可以转向更复杂的示例,例如创建 2 个或更多表并运行连接每个表的数据的查询。

然后 - 您可以翻阅 RMySQL 手册。在 RMySQL 中,您设置数据库连接,然后使用 SQL 查询语法从表中返回行作为数据框。因此,获得 SQL 部分真的很重要 - RMySQL 部分很简单。

网上有大量的 MySQL 和 SQL 教程,包括“官方”tutorial在 MySQL 网站上。只需谷歌搜索“mysql 教程”。

就我个人而言,我根本不认为 80 Mb 是一个大数据集;我很惊讶这会导致 RAM 问题,而且我确信原生 R 函数可以很容易地处理它。但是学习 SQL 等新技能是件好事,即使您不需要它们来解决这个问题。

关于mysql - 在 MySQL 中设置大型数据库以在 R 中进行分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3340568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com