Cassandraのデータのimportツール json2sstable

概要

JSONをimportして新しいsstableを作るのが、json2sstable。

使い方

Usage: json2sstable -K keyspace -c column_family

実装

パッケージとしては、org.apache.cassandra.tools。クラスはSSTableExportのimportJsonメソッド importJson(json, keyspace, cfamily, ssTable);

  • json-simple使って、指定されたjsonFileのパスを読んで、JSONオブジェクトを作る
  • partitionerからdecoratedKey群を取得して、そのキーに紐付けられたrowを、ColumnFamilyにCF追加
  • ColumnFamilyのserializerで作ったCFをシリアライズ
  • 最終的にシリアライズしたCFをSSTableWriterでwrite