2015-03-13 44 views
0

我已经导入包含人口统计信息和我的ETL JSON看起来像这样OrientDB ETL进口日期字段

{ 
"config": { 
"log": "debug" 
}, 
"extractor" : { 
    "jdbc": { "driver": "com.mysql.jdbc.Driver", 
      "url": "jdbc:mysql://localhost/avicenna", 
      "userName": "xxxxxx", 
      "userPassword": "xxxxxxxxxxxx", 
      "query": "select * from patients", 
      "fetchSize": 1000 
      } 
}, 
"transformers" : [ 
    { "vertex": { "class": "patients"} } 
], 
"loader" : { 
    "orientdb": { 
    "dbURL": "plocal:c:/tools/orientdb-community-2.0.5/databases/Avicenna", 
    "dbType": "graph", 
    "dbAutoCreate": true 
    } 
} 
} 

一大桌我的病人在OrientDB类的定义如下

-------------------------------+-------------+ 
NAME       | TYPE  | 
-------------------------------+-------------+ 
PatientID      | INTEGER  | 
MaritalStatus     | STRING  | 
DOB       | DATE  | 
Sex       | STRING  | 
-------------------------------+-------------+ 

尽管MySQL患者表的DOB字段创建为“日期”,但所有导入的数据仍将显示为完整日期时间

orientdb {db=avicenna}> select from patients limit 3 

    ----+-----+--------+---------+-------------------+-------------+----+------------ 
# |@RID |@CLASS |PatientID|DOB    |MaritalStatus|Sex |out_admitted 
    ----+-----+--------+---------+-------------------+-------------+----+------------ 
0 |#18:0|patients|1022  |1996-02-29 00:00:00|Single  |M |[size=5] 
1 |#18:1|patients|1033  |1996-02-02 00:00:00|Single  |M |[size=1] 
2 |#18:2|patients|1089  |1995-07-21 00:00:00|Single  |F |[size=1] 
----+-----+--------+---------+-------------------+-------------+----+------------ 

有没有我做错了导入脚本? 现在我该如何清理OrientDB中的日期?

回答

0

我相信你的脚本没什么问题,这就是日期存储的方式。

create property V.someDate date 
create property V.someDateTime datetime 

insert into V set someDate = sysdate(), someDateTime = sysdate() 

select from V 

enter image description here