You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将包含对象字段的CSV文件数据导入Cassandra对应自定义类型

该操作完全可以实现,无需修改现有CSV结构,使用Cassandra原生的COPY命令支持直接映射CSV列到用户自定义类型(UDT)的对应属性

前置条件确认

首先确认你已经正确创建了自定义类型和目标表,参考示例语句:

-- 创建pet自定义类型
CREATE TYPE IF NOT EXISTS pet (
    name text,
    age int
);

-- 创建house目标表
CREATE TABLE IF NOT EXISTS house (
    id int PRIMARY KEY,
    name text,
    pet frozen<pet>
);
导入操作步骤

你的CSV现有结构无需调整,假设CSV内容如下:

id,name,pet.name,pet.age
1,田园别墅,旺财,3
2,高层公寓,橘猫,2

直接执行如下COPY命令即可完成导入:

COPY house (id, name, pet:name, pet:age)
FROM '你的CSV文件绝对路径'
WITH HEADER = TRUE;

命令说明:

  • 导入列中使用自定义类型名:属性名的格式,即可直接将CSV对应的列值写入UDT的对应属性
  • HEADER = TRUE表示CSV第一行为表头,会自动跳过第一行做数据映射
注意事项
  • 导入前建议先添加LIMIT 2参数测试前2行数据,确认格式匹配无误后再全量导入,示例:
    COPY house (id, name, pet:name, pet:age)
    FROM '你的CSV文件绝对路径'
    WITH HEADER = TRUE AND LIMIT 2;
    
  • 需保证CSV中各列的数值类型和UDT、表定义的字段类型完全匹配,例如pet.age为int类型时,CSV对应列不能出现非数字字符
  • 若存在嵌套UDT场景,可通过一级UDT名:二级UDT名:属性名的层级写法做映射

内容的提问来源于stack exchange,提问作者Tuyen Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:09:03