首页 > 解决方案 > 在 QuestDB 导入中使用用户定义的模式手动设置时间戳格式

问题描述

我想将一些数据导入curl到其余端点。我需要使用文档中描述的用户定义模式,但我在指定时间戳格式时遇到了一些问题。

这是我发送的一个最小示例:

curl -i \
-F schema='[{"name":"ts", "type": "TIMESTAMP", "format": "YYYY-MM-DD HH:MM:SS"},{"name":"instance_id", "type": "STRING"}]' \
-F data=@log_out.csv \
http://localhost:9000/imp

列正在正确导入,但时间戳列看起来已损坏:

ts instance_id
NULL EU-1XX
NULL EU-1XX
NULL EU-2XX

标签: questdb

解决方案


当使用带有 TIMESTAMP 类型的用户定义模式时,您应该pattern在模式查询参数中使用而不是格式,即:

curl -i \
-F schema='[{"name":"ts", "type": "TIMESTAMP", "pattern": "YYYY-MM-DD HH:MM:SS"},{"name":"instance_id", "type": "STRING"}]' \
-F data=@log_out.csv \
http://localhost:9000/imp

推荐阅读