尝试使用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家庭”,“闪光者”,“被踢在脸上”,“手淫”,“翻新”,“刺入”}”,就像杰森
答案 0 :(得分:2)
之所以会发生这种情况,是因为videos.csv
文件最初是由CQLSH COPY
创建的,并且集合的格式在它们的周围带有大括号{}
。 DSBulk希望集合值是json数组,其语法是用方括号[]
包围集合。
事实证明,DSBulk中有一张开放票证,用于处理集合,元组和UDT的CQL文字。同时,请使用CQLSH COPY将数据加载到表中。