在cassandra中将一个表复制到另一个表

在cassandra中将一个表复制到另一个表,cassandra,cassandra-2.0,cqlsh,Cassandra,Cassandra 2.0,Cqlsh,我想将数据从standardevents复制到standardeventstemp。。 下面是我正在做的步骤 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)

我想将数据从standardevents复制到standardeventstemp。。 下面是我正在做的步骤

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';
但在第三步之后,我得到了以下误差

错误请求:无效的字符串常量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'};

原来这是卡桑德拉1.2.2中的一个例子


同样的命令在2.0.x中也能正常工作,因此升级可以解决问题。

事实证明,这是Cassandra 1.2.2中的一个问题


同样的命令在2.0.x中也可以正常工作,因此升级可以解决问题。

standardeventstemp的结构是否与standardevents的结构相同?字段类型是否相同?你能发布你的临时csv的第一行吗?是的,结构是一样的。下面是csv cdb94410-fb16-11e3-8fb1-22000ae3163a的第一行,{\courseID\:\447\,\activityID\:\16951\,\activityDesc\:\Perceptive Constancy\,\TimePent\:\228242\,\startTime\:\1403555882325\,\endTime\:\140355611067\,\status\:\PASS\,\LTIData\:{\LTIUserID\:\110446\,\LTICourseID\:\11551\,ActivityType\,完整,140355611065,20DA710734020D7B3A1E8AFE9DD1B9D1,用户,62419I重新创建了您的表,可以毫无问题地导入测试行甚至引用行。但是,如果我将uuid值放在csv文件的引号中,我会得到相同的错误。你能验证你的uuid值在你的csv文件中没有引号吗?我通过把这些值放在双引号中进行了检查,但没有起作用。你如何做到这一点,而不是csv?我的表是TB。standardeventstemp的结构是否与standardevents的结构相同?字段类型是否相同?你能发布你的临时csv的第一行吗?是的,结构是一样的。下面是csv cdb94410-fb16-11e3-8fb1-22000ae3163a的第一行,{\courseID\:\447\,\activityID\:\16951\,\activityDesc\:\Perceptive Constancy\,\TimePent\:\228242\,\startTime\:\1403555882325\,\endTime\:\140355611067\,\status\:\PASS\,\LTIData\:{\LTIUserID\:\110446\,\LTICourseID\:\11551\,ActivityType\,完整,140355611065,20DA710734020D7B3A1E8AFE9DD1B9D1,用户,62419I重新创建了您的表,可以毫无问题地导入测试行甚至引用行。但是,如果我将uuid值放在csv文件的引号中,我会得到相同的错误。你能验证你的uuid值在你的csv文件中没有引号吗?我通过把这些值放在双引号中进行了检查,但没有起作用。你如何做到这一点,而不是csv?我的表是terabytes.FWIW——在版本1.2.3中报告为固定的。如果你像我一样被限制跳到2.0.x,我现在只能跳到1.4.0,而不久的将来我们的环境只能跳到1.6.x——或者我被告知是这样的。FWIW——这在版本1.2.3中被报告为已修复。如果你像我一样被限制跳到2.0.x,我现在只能跳到1.4.0,而不久的将来我们的环境只能跳到1.6.x,至少我被告知如此。