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

时间:2018-09-21 07:52:12

标签: cassandra datastax-enterprise dsbulk

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

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

export const APP_STORE_LINK = `https://itunes.apple.com/us/app/${APP_NAME}/id${APP_STORE_ID}?mt=8`;

数据文件是: https://github.com/KillrVideo/killrvideo-cdm/blob/master/data/videos.csv

命令:

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)
)

com.datastax.driver.core.exceptions.InvalidTypeException:无法解析'{'aunt','black刻板印象','blood on shirt','butt bolo','chest','death of家庭”,“闪光者”,“被踢在脸上”,“手淫”,“翻新”,“刺入”}”,就像杰森

1 个答案:

答案 0 :(得分:2)

之所以会发生这种情况,是因为videos.csv文件最初是由CQLSH COPY创建的,并且集合的格式在它们的周围带有大括号{}。 DSBulk希望集合值是json数组,其语法是用方括号[]包围集合。

事实证明,DSBulk中有一张开放票证,用于处理集合,元组和UDT的CQL文字。同时,请使用CQLSH COPY将数据加载到表中。