在MySQL中建立大型数据库以便在R中进行分析

2024-03-07

我在 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”。或者从命令行使用mysql管理员,或者通常有 MySQL 管理 GUI。

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

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

这表示创建一个包含 2 个字段的表:id,这将是主键(因此必须是唯一的),并且将随着新记录的添加而自动增量;和height,这里指定为浮点数(数字类型),总共 3 位数字,小数点后 2 位(e.g.100.27)。你明白这一点很重要数据类型 http://dev.mysql.com/doc/refman/5.0/en/data-types.html.

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

mysqlimport -u DBUSERNAME -pDBPASSWORD DBNAME mydata

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

select * from mydata where height > 50;

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

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

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

网上有大量的 MySQL 和 SQL 教程,包括“官方”tutorial http://dev.mysql.com/doc/refman/5.0/en/tutorial.html在 MySQL 网站上。只需谷歌搜索“mysql 教程”。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在MySQL中建立大型数据库以便在R中进行分析 的相关文章

随机推荐

  • JavaScript 乘以 100 给出奇怪的结果[重复]

    这个问题在这里已经有答案了 I have var a 0 0532 var b a 100 b 应该返回 5 32 但它返回 5 319999999999999 我该如何解决 JSFiddle 在这里 http jsfiddle net 9
  • fseek() 函数中的零偏移量与 SEEK_CUR 有什么用?

    while fread product sizeof Product 1 file 1 product price 2 0 fseek file sizeof Product SEEK CUR fwrite product sizeof P
  • 从 package.json 脚本中调用带有参数的 javascript 函数

    javascript 文件 foo js 具有以下内容 function foo param console log foo called with params console log param module exports foo f
  • 编辑后保留PDB文件格式。

    我有 xxx pdb 文件 ATOM 1910 CB SER 128 45 806 50 621 39 840 1 00 9 36 ATOM 1913 OG SER 128 44 538 51 195 39 571 1 00 9 36 AT
  • Given import java util public class Hancock insert code here list add foo 哪两个代码片段独立插入到第 5 行 编译时不会出现警告 选择两项 A public void
  • 将 FILE * 从 Python / ctypes 传递到函数中

    我有一个库函数 用 C 编写 它通过将输出写入到来生成文本FILE 我想用 Python 2 7 x 包装它 并使用创建临时文件或管道的代码 将其传递到函数中 从文件中读取结果 并将其作为 Python 字符串返回 这是一个简化的示例来说明
  • 如何从EF扩展Entity?

    EF 创建的所有实体都是分部类 所以它是可扩展的 假设我有像 Person 这样的实体 partial class Person FirstName LastName 然后我想添加一个计算属性名称 例如 partial class Pers
  • file_get_contents() 用于短网址

    file get contents 不读取短网址数据 例子 http wp me pbZy8 1WM http bit ly d00E2C 请帮我处理这个问题 或者是否有任何 CURL 函数来处理上述链接 这通常工作得很好 如果您发现它没有
  • 密码验证后启动程序

    我需要一些帮助 我在互联网上找到了这个密码程序 它很完美 但是有一个问题 我想做的 一旦验证了密码 启动我制作的另一个程序 另一个程序我制作的是HTA 超文本应用程序 我可以做到这一点吗 这是代码 package components im
  • 每五分钟显示一次 Android 通知

    我想知道如何设置通知时间 我想设置每五分钟通知一次 所以请帮我做到这一点 public class FirstActivity extends Activity private static final int HELLO ID 1 pub
  • Google Oauth - 在哪里登录用户、后端/前端

    使用 Google OAuth 与在应用程序前端登录用户和在应用程序后端登录用户有什么区别 示例 在 React 中登录用户并获取 ID 和身份验证对象 或者让 Node Express 处理一切 过程 重定向并将其存储在数据库中 最常见的
  • 如何使用 Anaconda 的解释器设置 SublimeREPL?

    我喜欢 Sublimetext 中的 Python 但我真正需要的是用于数据探索的交互模式 然而 我一生都无法让 SublimeREPL 使用 Anaconda 的解释器 任何想法 将不胜感激 我已将以下内容添加到我的 SublimeREP
  • 如何获取测量中的条目数

    我是 influxdb 的新手 我刚刚开始阅读流入文档 我似乎无法得到相当于 从表中选择计数 在 influxdb 中工作 我有一个称为购物车的测量 time status cartid 1456116106077429261 0 A 14
  • 通过 javascript/jquery 添加带有 onclick 功能的按钮

    我正在努力寻找通过 javascript jquery 添加带有附加功能的按钮的正确语法 现在我正在尝试 list append
  • FactoryGirl + Faker - 为数据库种子数据中的每个对象生成相同的数据

    我正在使用 FactoryGirl 和 Faker 在我的seeds rb文件 但由于某种原因正在创建完全相同的用户并且rake db seed由于电子邮件唯一性验证而失败 用户工厂 users rb require faker Facto
  • 使用任何 hg Mercurial 命令时出现“错误:root:未找到哈希 md5 代码”

    当尝试使用任何hg在控制台上执行 Mercurial 命令时 我不断收到此错误 我使用 Homebrew 安装了 Python 并且运行的是 Mac OS Catalina v 10 15 1 任何参考将不胜感激 这是我收到的错误 hg c
  • C# 架构建议:在结构中缓存数据的方法?

    我想请教您有关 C 可行架构的专家建议 我有一个 C 服务 它响应 LAN 上本地用户的请求 从互联网获取数据包 并处理该数据以在结构中生成数据数组 每个数据请求大约需要2秒 返回4000字节 每天可能有数万个请求 为了加快一切速度并减少带
  • Titanium Appcelerator:无需 Mac 的 iPhone 开发(如 PhoneGap)

    我即将开始一些移动开发项目 但我首先要做一些功课 我的主要目标是部署到 Android 和 iOS 但后者带来了一些问题 因为我无法访问 也没有兴趣购买 Mac Phonegap 提供云服务 您可以在其中上传您的移动开发项目 他们将为您进行
  • 在构建时注入程序集版本号

    我想在生成时更改 C 项目的程序集版本号 方法是将其作为 MSBuild 命令行上的属性传递 装配信息任务 http archive msdn microsoft com AssemblyInfoTaskvers将在编译之前修改 Assem
  • 在MySQL中建立大型数据库以便在R中进行分析

    我在 R 中分析大型数据集时已达到 RAM 的限制 我认为下一步是将这些数据导入 MySQL 数据库并使用RMySQL包裹 很大程度上是因为我不懂数据库术语 我一直无法弄清楚如何通过数小时的谷歌搜索和RSeeking安装MySQL 我在Ma