【发布时间】:2014-08-09 13:00:16
【问题描述】:
我想将数据从标准事件复制到标准事件临时.. 下面是我正在做的步骤
COPY events.standardevents (uuid, data, name, time, tracker, type, userid) TO 'temp.csv';
truncate standardevents;
COPY event.standardeventstemp (uuid, data, name, time, tracker, type, userid) FROM 'temp.csv';
但我在第 3 步后遇到错误
错误请求:无效的 STRING 常量 (3a1ccec0-ef77-11e3-9e56-22000ae3163a) uuid 类型的名称
在第 0 列中止导入,之前插入的值仍然存在。
谁能解释这个错误的原因以及我该如何解决这个问题
uuid 的数据类型为 uuid 其余数据类型为 varchar
CREATE TABLE standardevents (
uuid uuid PRIMARY KEY,
data text,
name text,
time text,
tracker text,
type text,
userid text
) WITH
bloom_filter_fp_chance=0.010000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.000000 AND
gc_grace_seconds=864000 AND
read_repair_chance=0.100000 AND
replicate_on_write='true' AND
populate_io_cache_on_flush='false' AND
compaction={'class': 'SizeTieredCompactionStrategy'} AND
compression={'sstable_compression': 'SnappyCompressor'};
【问题讨论】:
-
standardeventstemp的结构和standardevents的结构一样吗(字段类型相同)?您可以发布 temp.csv 的第一行吗?
-
是的,结构是一样的。下面是csv的第一行 cdb94410-fb16-11e3-8fb1-22000ae3163a,"{\"courseID\":\"447\",\"activityID\":\"16951\",\"activityDesc\":\ "Perceptual Constancy\",\"timeSpent\":\"228242\",\"startTime\":\"1403555882325\",\"endTime\":\"1403556110567\",\"status\":\" PASS\",\"LTIData\":{\"LTIUserID\":\"110446\", \"LTICourseID\":\"11551\"}}",ActivityPg_viewComplete,1403556111065,20DA710734020D7B3A1E8AFE9DD1B9D1,user,62419
-
我重新创建了您的表格,并且可以毫无问题地导入测试行甚至引用的行。但是,如果我将 uuid 值放在 csv 文件中的引号中,我会遇到同样的错误。你能确认你的 uuid 值没有在你的 csv 文件中的引号中吗?
-
我通过将值放在双引号中进行检查,但没有奏效..
-
你如何做到这一点而不是 csv?我的表是 TB。
标签: cassandra cassandra-2.0 cqlsh