DolphinDB数据导入教程
DolphinDB提供了多种灵活的数据导入方法,来帮助用户方便的把海量数据从多个数据源导入。具体有如下4种途径:
- 通过文本文件导入
- 通过二进制文件导入
- 通过HDF5接口导入
- 通过ODBC接口导入
1. DolphinDB数据库基本概念和特点
本章中多处使用到DolphinDB的数据库和表的概念,所以这里首先做一个介绍。
在DolphinDB里数据以结构化数据表的方式保存。数据表按存储介质可以分为:
- 内存表:数据保存在内存中,存取速度快,但是若节点关闭就会丢失数据。
- 本地磁盘表:数据保存在本地磁盘上,即使节点关闭,也不会丢失数据。可以方便的把数据从磁盘加载到内存。
- 分布式表:数据分布在不同的节点的磁盘上,通过DolphinDB的分布式计算引擎,逻辑上仍然可以像本地表一样做统一查询。
按是否分区可以分为:
- 普通表(未分区表)
- 分区表
在传统的数据库系统,分区是针对数据表定义的,就是同一个数据库里的每个数据表都可以有自己的分区定义;而DolphinDB的分区是针对数据库定义的,也就是说同一个数据库下的数据表只能使用同一种分区机制,这也意味着如果两张表要使用不同的分区机制,那么它们是不能放在一个数据库下的。
2. 通过文本文件导入
通过文件进行数据中转是比较通用化的一种数据迁移方式,方式简单易操作。DolphinDB提供了以下三个函数来载入文本文件:
loadText
: 将文本文件以 DolphinDB 数据表的形式读取到内存中。ploadText
: 将数据文件作为分区表并行加载到内存中。与loadText
函数相比,速度更快。loadTextEx
: 把数据文件转换为DolphinDB数据库中的分布式表,然后将表的元数据加载到内存中。
以下为将candle_201801.csv导入DolphinDB来演示loadText
和loadTextEx
的用法。
2.1 loadText
loadText函数有三个参数,个参数filename是文件名,第二个参数delimiter用于指定不同字段的分隔符,默认是",",第三个参数schema是用来指定导入后表的每个字段的数据类型,schema参数是一个数据表,格式示例如下:
首先导入数据:
dataFilePath = "/home/data/candle_201801.csv"
tmpTB = loadText(dataFilePath);
相关文章