在cassandra中将一张桌子复制到另一张桌子

时间:2014-06-19 04:48:44

标签: 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) 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'};

1 个答案:

答案 0 :(得分:4)

事实证明,这是Cassandra 1.2.2中的known bug

相同的命令在2.0.x中运行良好,因此升级将解决问题。