为Cassandra中的现有数据集的所有记录自动生成UUID

时间:2017-04-19 21:28:20

标签: cassandra uuid

我有一个CSV格式的大约700000条记录的现有数据集。我已将该数据文件导入到apache Cassandra表中。问题是

主键。如何为我的所有记录自动生成(upsert)uuid到我的主键列? 我正在使用Cassandra 3.10。

1 个答案:

答案 0 :(得分:2)

不幸的是,如果您使用的是COPY命令,那么您实际上无法为行生成UUIDs。我认为你真的有两种选择,这两种选择都涉及在某种程度上以编程方式做事:

  1. 对您的CSV文件执行一些预处理,以生成每行UUID并向其添加UUID,写出包含该附加字段的新文件,并为每行添加COPY值。应该非常简单地逐行处理文件,并使用小型Python脚本或类似的东西生成这些值。然后,您可以像以前一样使用COPY命令将数据导入Cassandra。
  2. 由于您已经要编写一些代码,请完全跳过使用INSERT命令,然后用Python(或Java或您选择的语言)编写代码来读取文件,解析每个将CSV行转换为值,为该行生成UUID,然后使用适合您正在使用的编程语言的驱动程序将MediaCodec Video Decoder ⇨ Surface ⇨ texture ⇨ Vulkan 数据导入Cassandra。
  3. 如果您决定使用选项2,您将找到DataStax drivers for Cassandra towards the bottom of this page的列表,以及如何使用它们的文档。希望有所帮助!