Quel est le format le plus utilisé pour enregistrer des données avec des informations de type

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

  •  16-10-2019
  •  | 
  •  

Question

Je l'exportation de données à partir d'une base de données SQL et l'importer dans R. Ceci est un processus en deux étapes depuis que je (automatiquement) télécharger les données sur un disque dur, puis importer le fichier avec R.

À l'heure actuelle, je suis en utilisant les fichiers csv pour enregistrer les données. supports Tout le monde csv. Mais csv ne supporte pas les informations de type. Cela rend parfois la lourdeur de charger un fichier csv parce que je dois vérifier tous les types de colonnes. Cela ne semble pas nécessaire, car la base de données SQL spécifie déjà les types de colonnes.

Je veux savoir s'il y a un format de fichier largement accepté pour enregistrer des données qui spécifie également le type des colonnes.

Je travaille actuellement avec des bases de données SQL, FME ETL'ing et R, mais je pense que cela est un problème pour tous les tranfert de données.

Était-ce utile?

La solution

Je pense que cela dépend de vos besoins. Lecture / écriture, Sparse / non faible, ...? Il existe de nombreuses alternatives.

Vraiment commun est SQLite, le « le plus largement déployé et le moteur base de données utilisée », une petite base de données relationnelle, ces jours-ci utilisés derrière les coulisses par de nombreux paquets logiciels open source et commerciaux ayant des besoins de stockage de données (par exemple, Adobe Lightroom, Mozilla Firefox).

Du haut de ma tête:

Si vous travaillez avec R et Python:

Le plume a été conçu pour la sérialisation rapide trame de données. Il est actuellement disponible pour R et Python. Deux autorités R et Python conçu dans une collaboration. Il est construit au-dessus de « Apache Arrow » et / ou « tampons de protocole », il est rapide pour la lecture, mais il est en alpha état.

Il y a des formats de sérialisation disponibles auprès de la communauté XML. Vous pouvez stocker des réseaux complexes d'objets dans ces formats.

Il est JSON et JSON-schéma.

Si vos tables sont rares, il y a, par exemple, le format « SLIA rares » (en peu d'utilité, cependant). Il doit y avoir d'autres ( je dois regarder ce moi-même )

Autres conseils

Parquet et Avro les deux types de données de support (cordes, des entiers, des flotteurs, etc.). Ce sont les principaux types de fichiers utilisés pour les « grands projets de données », bien que vos données ne doit pas être grand. Apache Spark est capable de lire à la fois avec facilité. Cela dit, je suis un grand fan de conservation des données dans une base de données SQL (par exemple, MySQL ou Postgres) parce que c'est ce qu'ils sont conçus pour. Si vous ne pouvez pas réutiliser la base de données vous tirez de, pourriez-vous faire votre propre base de données localement ou sur un serveur distinct? Je voudrais essayer d'utiliser une base de données relationnelle jusqu'à ce que vos données est supérieure à 50 Go (une taille arbitraire « un peu large »), puis j'utiliser Avro ou de parquet.

Licencié sous: CC-BY-SA avec attribution
scroll top