Cassandra 批量加载 dsbulk - set<text> 加载问题

Cassandra bulk load dsbulk - set<text> load issue

正在尝试使用 dsbulk 实用程序将 csv 文件加载到 dse cassandra 中。 如果列定义为集合,我 运行 遇到问题。

copy 命令正在成功加载“{'bible'、'moses'、'ramses'}”和“{'televison'}”。但是,当存在多个具有 com.datastax.driver.core.exceptions.InvalidTypeException 的值时,dsbulk 会失败:无法解析为 Json。

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', 'renovation', 'stabbed in the'}' as Json

这是因为 videos.csv 文件最初是从 CQLSH COPY 创建的,并且集合的格式是用大括号 {} 括起来的。 DSBulk 期望集合值是 json 数组,其语法是用方括号将集合括起来:[].

原来在 DSBulk 中有一个开放的票证来处理集合、元组和 UDT 的 CQL 文字。同时,请使用 CQLSH COPY 将数据加载到您的 table.