我正在从SQL数据库中导出数据并将其导入R。这是一个两步过程,因为我(自动)将数据下载到硬盘驱动器,然后用R。

目前,我正在使用CSV文件来保存数据。每个人都支持CSV。但是CSV不支持类型信息。这有时使加载CSV文件很麻烦,因为我必须检查所有列类型。这似乎是不必要的,因为SQL数据库已经指定了列的类型。

我想知道是否有广泛接受的文件格式来保存数据,也指定了列的类型。

目前,我正在使用SQL数据库,FME ETL'ING和R,但我认为这是每个数据tranfer的问题。

有帮助吗?

解决方案

我认为这取决于您的要求。读/写,稀疏/nonsparse,...?有很多选择。

真正常见的是Sqlite,“部署最广泛和使用的数据库引擎“这是一个小型的关系数据库,如今,许多开源和商业软件包的幕后花絮都带有数据存储需求(例如,Adobe Lightroom,Mozilla Firefox)。

从我的头顶:

如果您与R和Python合作:

羽毛 软件是为快速数据框架序列化设计的。目前可用于R和Python。两个R和Python当局在合作中设计了它。它建在“ Apache Arrow”和/或“协议缓冲区“, 它的 快速地 用于阅读,但这是在Alpha State。

XML社区有一些序列化格式。您可以以这些格式存储复杂的对象网。

有Json和Json-Schema。

如果您的桌子稀疏,例如,“稀疏arff”格式(虽然很少使用)。一定有其他人(我必须自己看一下)

其他提示

Parquet和Avro都支持数据类型(字符串,整数,浮点等)。这些是用于“大数据”项目的主要文件类型,尽管您的数据不必大。 Apache Spark能够轻松阅读两者。话虽如此,我非常喜欢将数据保存在SQL数据库中(例如MySQL或Postgres),因为那是它们的构建目的。如果您无法重复使用要从中删除的数据库,可以在本地或单独的服务器上制作自己的数据库吗?我将尝试使用一个关系数据库,直到您的数据超过50 GB(任意的“有点大”尺寸),然后我将使用Avro或Parquet。

许可以下: CC-BY-SA归因
scroll top