cassandra - Cassandra 批量加载 dsbulk - 时间戳格式问题
问题描述
我正在尝试使用 dsbulk 实用程序将 csv 文件加载到 cassandra 中。我收到时间戳格式问题。
Source : dance,204b0700-7214-3809-9da1-fe5499113b20,1953-08-26 10:00:00+0000,Roman Holiday,,,\u000a
java.lang.IllegalArgumentException: Could not parse '1953-08-26 10:00:00+0000'; accepted formats are: temporal string (e.g. '2018-09-20T07:52:19.921Z') or numeric value (milliseconds since 1970-01-01T00:00:00Z)
Suppressed: java.text.ParseException: Invalid number format: 1953-08-26 10:00:00+0000
Suppressed: java.time.format.DateTimeParseException: Text '1953-08-26 10:00:00+0000' could not be parsed: Invalid value for MonthOfYear (valid values 1 - 12): 0
Caused by: java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0
输入文件的格式如下:
cat videos_by_tag.csv.mini2
customs house,d4acc6b9-f9b8-708e-5f7e-9df19a24bf5a,2001-07-12 10:00:00+0000,The Score,,,
dance,204b0700-7214-3809-9da1-fe5499113b20,1953-08-26 10:00:00+0000,Roman Holiday,,,
dance,262ebef4-0626-4758-d0cd-4b72ad1526a7,2000-09-21 10:00:00+0000,Dancer in the Dark ,,,
dance,3eea5ebb-6be2-9bdc-68e2-cabf89070855,2015-02-16 08:00:00+0000,Blue,,,
family estate,5b2eb210-b092-3f9c-de29-ea388b5964ae,1993-10-18 10:00:00+0000,The House of the Spirits ,,,
我尝试覆盖时间戳格式选项。没有帮助。
codec.timestamp = "yyyy-mm-dd HH:MM:SS+NNNN"
版本
- DSE 版本:6.0.0
- DataStax 批量加载:v1.0.1
- 卡桑德拉:4.0.0.2284
表结构:
CREATE TABLE killrvideo.videos_by_tag ( tag text, videoid uuid, added_date timestamp, name text, preview_image_location text, tagged_date timestamp, userid uuid, PRIMARY KEY (tag, videoid) ) WITH CLUSTERING ORDER BY (videoid ASC)
请指教。
解决方案
您是否尝试过使用 dsbulk 1.2.0?使用 1.2.0 导入成功。
使用 1.0.1 时,我遇到了同样的错误。
我对文档进行了一些研究,似乎只支持少数时间戳模式。
所以会有两种可能的解决方案:
- 使用dsbulk 1.2.0 版本
- 重新格式化您的 csv 文件并更改时间戳格式;例如,您应该使用 1953-08-26T10:00:00+00 而不是 1953-08-26 10:00:00+0000。
推荐阅读
- mysql - 错误 1396 (HY000) 在第 1 行:操作 CREATE USER 失败 'root'@'%'
- java - 如何从列表中唯一地选择一个元素?
- apache-spark - 如何使用 spark 获取 hive 分区列名
- javascript - 测试直接更改 DOM 的库
- java - 列表的 forEach() 如何获取非消费者
像 list::add 这样的表达式 - mysql - MySQL 为多个 OR 使用索引,但在 IN 中没有索引,而且速度慢得多
- javascript - 指数运算符 ^ 和 Math.pow() 之间的区别
- stm32 - Rs485 DE信号,置位时间和置位时间
- python - flask-user 限制用户注册
- apache - 通过 .htaccess 屏蔽子域 IP 地址(Url)