Was ist das am häufigsten verwendete Format zum Speichern von Daten mit Typinformationen

datascience.stackexchange https://datascience.stackexchange.com/questions/13658

  •  16-10-2019
  •  | 
  •  

Frage

Ich exportiere Daten aus einer SQL -Datenbank und importiere sie in R in R. Dies ist ein zweistufiger Prozess, da ich die Daten zuerst (automatisch) auf eine Festplatte herunterlade und dann die Datei mit R. importiere

Derzeit verwende ich CSV -Dateien, um die Daten zu speichern. Jeder unterstützt CSV. CSV unterstützt jedoch keine Informationen. Dies macht es manchmal umständlich, eine CSV -Datei zu laden, da ich alle Spaltentypen überprüfen muss. Dies scheint unnötig zu sein, da die SQL -Datenbank bereits die Arten der Spalten angibt.

Ich möchte wissen, ob es ein breit akzeptiertes Dateiformat gibt, um Daten zu speichern, die auch den Typ der Spalten angeben.

Derzeit arbeite ich mit SQL -Datenbanken, Fme Etl'ing und R, aber ich denke, dies ist ein Problem für jeden Datenstrom.

War es hilfreich?

Lösung

Ich denke, es hängt von Ihren Anforderungen ab. Lesen/Schreiben, spärlich/Nonsparse, ...? Es gibt viele Alternativen.

Wirklich häufig sind SQLite, das "Die am weitesten verbreiteten und verwendeten Datenbank -Engine"Eine kleine relationale Datenbank, die heutzutage hinter den Kulissen von vielen Open Source- und Commercial-Software-Paketen mit Datenspeicheranforderungen (z. B. Adobe Lightroom, Mozilla Firefox) verwendet wird.

Von der Spitze meines Kopfes:

Wenn Sie mit R und Python arbeiten:

Das Feder Die Software wurde für die schnelle Datenrahmenserialisierung entwickelt. Es ist derzeit für R und Python erhältlich. Zwei R- und Python -Behörden haben es in einer Zusammenarbeit entwickelt. Es basiert auf "Apache Arrow" und/oder "Protokollpuffer", es ist schnell zum Lesen, aber es ist im Bundesstaat Alpha.

In der XML -Community stehen einige Serialisierungsformate zur Verfügung. Sie können komplexe Netze von Objekten in diesen Formaten speichern.

Es gibt JSON und JSON-Schema.

Wenn Ihre Tische spärlich sind, gibt es beispielsweise "spärlichem ARFF" -Format (in geringer Verwendung). Es muss andere sein (Ich muss mir das selbst nachsehen)

Andere Tipps

Parquet und Avro unterstützen beide Datentypen (Zeichenfolgen, Ganzzahlen, Schwimmer usw.). Dies sind die primären Dateitypen, die für "Big Data" -Projekte verwendet werden, obwohl Ihre Daten nicht groß sein müssen. Apache Spark kann beide mit Leichtigkeit lesen. Trotzdem bin ich ein großer Fan von Daten in einer SQL -Datenbank (z. B. MySQL oder Postgres), da sie dafür gebaut sind. Wenn Sie die Datenbank, aus denen Sie ziehen, nicht wiederverwenden können, können Sie Ihre eigene Datenbank lokal oder auf einem separaten Server herstellen? Ich würde versuchen, eine relationale Datenbank zu verwenden, bis Ihre Daten 50 GB (eine willkürlich "etwas" etwas große "Größe überschreiten, und dann würde ich Avro oder Parquet verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top