Hatena::Groupdann

dann's blog このページをアンテナに追加 RSSフィード

Fork me on GitHub

2010-03-17

Cassandraのデータのimportツール json2sstable

Cassandraのデータのimportツール json2sstable - dann's blog を含むブックマーク はてなブックマーク - Cassandraのデータのimportツール json2sstable - dann's blog Cassandraのデータのimportツール json2sstable - dann's blog のブックマークコメント

概要

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

使い方

Usage: json2sstable -K keyspace -c column_family <json> <sstable>

実装

パッケージとしては、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