我是cassandra的新手。我用主键创建了下面的cassandra表。
创建表格查询:
create table DB.EMP(
Name text,
age int,
id int,
loc text,
salary double,
PRIMARY KEY (id,salary)
);
我使用命令
在上面的表中加载了以下数据Command ::: copy emp from '/home/data' with delimiter=',';
Data ::: /home/data
"Sdd,25,123,Chennai,28000"
我收到此错误:
Using 1 child processes
Starting copy of pmm.emp with columns ['id', 'salary', 'age', 'loc', 'name'].
Failed to import 1 rows: ParseError - invalid literal for int() with base 10: 'Sdd' - given up without retries
Failed to process 1 rows; failed rows written to import_db_emp.err
Processed: 0 rows; Rate: 0 rows/s; Avg. rate: 0 rows/s
0 rows imported from 1 files in 0.170 seconds (0 skipped).
请建议我如何加载数据。
除了主键,我有什么办法可以禁用字母顺序插入选项。
答案 0 :(得分:1)
我有什么办法可以禁用除主键之外的字母顺序插入选项吗?
没有。 Cassandra以确保正确的磁盘顺序的方式存储列名称。
一个简单的解决方案是在COPY命令中指定列顺序:
aploetz@cqlsh:stackoverflow> COPY emp (name,age,id,loc,salary)
FROM '/home/aploetz/data.txt' WITH DELIMITER=',';
Reading options from the command line: {'delimiter': ','}
Using 1 child processes
Starting copy of stackoverflow.emp with columns [name, age, id, loc, salary].
Processed: 1 rows; Rate: 0 rows/s; Avg. rate: 1 rows/s
1 rows imported from 1 files in 1.919 seconds (0 skipped).