我正在尝试使用AsterixDB从CSV文件加载数据库。目前,它只能使用string、int和double字段。但是,CSV文件中有一列是DateTime格式。目前我将它们作为字符串导入,这很好用,但我希望将它们作为SQL DateTime数据类型导入。当我尝试更改架构并重新导入时,出现以下错误:
ERROR: Code: 1 "org.apache.hyracks.algebricks.common.exceptions.NotImplementedException: No value parser factory for fields of type datetime"
所有条目都是02/20/2010 12:00:00 AM
,我知道这与Asterix数据模型指定的格式不完全一致,但是,我尝试了一个格式正确的测试行,错误仍然存在。
这是否意味着AsterixDB在批量导入时不能解析DateTime?如果是这样,我该如何解决这个问题?
任何帮助都将不胜感激。
1条答案
按热度按时间ttygqcqt1#
好的,经过和同事们的讨论,我们认为AsterixDB目前在批量导入时不支持DateTime解析,我们的解决方案是将解析内置到查询中,然后将数据集中的每个条目都插入到查询中。
我们使用了以下查询:
正如你所看到的,我们使用AsterixDB时态函数库中的parse_datetime函数解析字符串。这个查询故意不删除字符串格式的DateTimes列,尽管如果你的应用程序需要的话,这会非常简单。如果有人有更好或更优雅的解决方案,请随时添加到这个线程中!