Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Richten Sie eine große Datenbank in MySQL für die Analyse in R ein

Die Dokumentation für RMySQL ist ziemlich gut - setzt aber voraus, dass Sie die Grundlagen von SQL kennen. Diese sind:

  • Erstellen einer Datenbank
  • eine Tabelle erstellen
  • Daten in die Tabelle bekommen
  • Daten aus der Tabelle holen

Schritt 1 ist einfach:In der MySQL-Konsole einfach „Datenbank DBNAME erstellen“. Oder verwenden Sie von der Befehlszeile aus mysqladmin , oder es gibt oft MySQL-Admin-GUIs.

Schritt 2 ist etwas schwieriger, da Sie die Tabellenfelder und deren Typ angeben müssen. Dies hängt vom Inhalt Ihrer CSV-Datei (oder einer anderen Datei mit Trennzeichen) ab. Ein einfaches Beispiel würde etwa so aussehen:

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

Was besagt, erstellen Sie eine Tabelle mit 2 Feldern:id , der der Primärschlüssel sein wird (muss also eindeutig sein) und automatisch inkrementiert wird, wenn neue Datensätze hinzugefügt werden; und Höhe , das hier als Gleitkommazahl (ein numerischer Typ) angegeben ist, mit insgesamt 3 Stellen und 2 nach dem Dezimalkomma (z. B. 100.27). Es ist wichtig, dass Sie die Datentypen verstehen .

Schritt 3 – Es gibt verschiedene Möglichkeiten, Daten in eine Tabelle zu importieren. Eine der einfachsten ist die Verwendung von mysqlimport Nützlichkeit. Angenommen, Ihre Daten befinden sich im obigen Beispiel in einer Datei mit dem gleichen Namen wie die Tabelle (mydata), die erste Spalte ist ein Tabulatorzeichen und die zweite die Höhenvariable (ohne Kopfzeile), würde dies funktionieren:

mysqlimport -u DBUSERNAME -pDBPASSWORD DBNAME mydata

Schritt 4 – erfordert, dass Sie wissen, wie MySQL-Abfragen ausgeführt werden. Wieder ein einfaches Beispiel:

select * from mydata where height > 50;

Bedeutet "alle Zeilen (id + height) aus der Tabelle mydata abrufen, bei denen die Höhe größer als 50 ist".

Sobald Sie diese Grundlagen beherrschen, können Sie zu komplexeren Beispielen übergehen, z. B. das Erstellen von 2 oder mehr Tabellen und das Ausführen von Abfragen, die Daten aus jeder verknüpfen.

Dann können Sie sich dem RMySQL-Handbuch zuwenden. In RMySQL richten Sie die Datenbankverbindung ein und verwenden dann die SQL-Abfragesyntax, um Zeilen aus der Tabelle als Datenrahmen zurückzugeben. Daher ist es wirklich wichtig, dass Sie den SQL-Teil verstehen – der RMySQL-Teil ist einfach.

Es gibt haufenweise MySQL- und SQL-Tutorials im Internet, einschließlich des "offiziellen" Anleitung auf der MySQL-Website. Googlen Sie einfach nach „mysql tutorial“.

Ich persönlich halte 80 MB überhaupt nicht für einen großen Datensatz. Ich bin überrascht, dass dies ein RAM-Problem verursacht, und ich bin sicher, dass native R-Funktionen damit recht einfach umgehen können. Aber es ist gut, neue Fähigkeiten wie SQL zu erlernen, auch wenn Sie sie für dieses Problem nicht brauchen.