La documentación para RMySQL es bastante bien, pero asume que sabes los conceptos básicos de SQL. Estos son:
- creación de una base de datos
- creación de una tabla
- obtener datos en la tabla
- la obtención de datos fuera de la mesa
Paso 1 es fácil: en la consola de MySQL , simplemente "crear base de datos DBNAME". O desde la línea de comandos, use mysqladmin, o con frecuencia hay GUI de administración de MySQL.
Paso 2 es un poco más difícil, ya que hay que especificar los campos de la tabla y su tipo. Esto dependerá del contenido de su archivo CSV (u otro archivo delimitado). Un ejemplo sencillo sería algo como:
use DBNAME;
create table mydata(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
height FLOAT(3,2)
);
Qué dice crear una tabla con 2 campos: Identificación, que será la clave principal (por lo que tiene que ser único) y será incrementado automáticamente a medida que se agregan nuevos registros; y altura, que aquí se especifica como un flotador (un tipo numérico), con 3 dígitos total y 2 después del punto decimal (por ejemplo 100,27). Es importante que entienda data types.
Paso 3: hay varias formas de importar datos a una tabla. Una de las más fáciles es usar la utilidad mysqlimport. En el ejemplo anterior, en el supuesto de que sus datos están en un archivo con el mismo nombre que la tabla (misdatos), la primera columna de un carácter de tabulación y el segundo la variable altura (sin línea de encabezamiento), esto funcionaría:
mysqlimport -u DBUSERNAME -pDBPASSWORD DBNAME mydata
Paso 4 - requiere que usted sabe cómo ejecutar consultas MySQL. De nuevo, un ejemplo simple:
select * from mydata where height > 50;
significa "recuperar todas las filas (id + altura) de la mydata mesa donde la altura es más de 50".
Una vez que domine los conceptos básicos, puede pasar a ejemplos más complejos, como la creación de 2 o más tablas y ejecutar consultas que unen los datos de cada uno.
Luego, puede consultar el manual de RMySQL.En RMySQL, configura la conexión de la base de datos, luego utiliza la sintaxis de la consulta SQL para devolver las filas de la tabla como un marco de datos. Por lo tanto, es importante que obtenga la parte SQL, la parte RMySQL es fácil.
Hay montones de tutoriales de MySQL y SQL en la web, incluido el tutorial "oficial" en el sitio web de MySQL. Solo busca en Google "tutorial de mysql".
Personalmente, no considero que 80 Mb sean un gran conjunto de datos; Me sorprende que esto esté causando un problema de RAM y estoy seguro de que las funciones R nativas pueden manejarlo con bastante facilidad. Pero es bueno aprender nuevas habilidades como SQL, incluso si no las necesitas para este problema.
Si va a ser el único acceso a su base de datos, SQLite puede ser una buena opción (y mucho menos complicaciones de configuración) ... Además, 80mb no parece ser un conjunto de datos muy grande. ¿Puede darnos un ejemplo en el que se quede sin memoria RAM? –
De acuerdo, 80 Mb es prácticamente nada. Tal vez haya algún otro problema con su máquina o código? – neilfws
@ Aaron, @Neil - Tienes razón. Mirando hacia atrás con un poco de sueño, mi conjunto de datos no es grande, simplemente más grande que lo que hice en el pasado. 80> 2, pero gb >> mb, así que tengo que revisar el código nuevamente (y aumentar mi paciencia). Gracias. –