尝试使用dsbulk实用程序将csv文件加载到dse cassandra中。如果将列定义为set,我将遇到问题。
copy命令正在成功加载“{'bible'、'moses'、'ramses'}”和“{'television'}”。但是,当有多个值具有com.datastax.driver.core.exceptions.invalidtypeeexception:无法解析为json时,dsbulk失败。
CREATE TABLE killrvideo.videos (
videoid uuid,
added_date timestamp,
description text,
location text,
location_type int,
name text,
preview_image_location text,
tags SET<text>,
userid uuid,
PRIMARY KEY (videoid)
)
数据文件是:https://github.com/killrvideo/killrvideo-cdm/blob/master/data/videos.csv
命令:
dsbulk load --driver.auth.provider PlainTextAuthProvider -u***-p***-header false -url /data/videos.csv -k killrvideo -t videos
com.datastax.driver.core.exceptions.invalidtypeexception:无法将“{'aunt'、'black stereotype'、'blood on shirt'、'butt bolo'、'chest'、'death of family'、'flasher'、'kicked in the face'、'masturbation'、'reprovation'、'branched in the'}'解析为json
1条答案
按热度按时间cnwbcb6i1#
这是因为
videos.csv
文件创建自CQLSH COPY
最初,集合的格式是大括号{}
在他们周围。dsbulk期望集合值是json数组,其语法是用方括号括住集合:[]
.结果发现dsbulk中有一个open票证来处理集合、元组和udt的cql文本。同时,请使用cqlsh copy将数据加载到表中。