こんちゃ(´・ω・)ノ
CassandraCLIの操作について記載する。
【ヘルプ】
■ヘルプ一覧表示
または
■ヘルプ詳細表示
[default@unknown] help {コマンド}; |
【キーススペース操作】
■キースペース一覧
[default@unknown] show keyspaces; |
■キースペースの情報参照
[default@unknown] describe sample; Keyspace: sample: Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy Durable Writes: true Options: [datacenter1:1] Column Families: |
■キースペースを作成
[default@unknown] create keyspace sample; |
■キースペースを削除
[default@unknown] drop keyspace sample; |
■キースペースに移動(使用するキースペース指定)
[default@unknown] use sample; |
【カラムファミリ操作】
■カラムファミリを作成
・通常のカラムファミリを作成
[default@sample] create column family users; |
・通常のカラムファミリを作成(UTF-8)
[default@sample] create column family users with comparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type; |
・スーパーカラムありのカラムファミリを作成
[default@sample] create column family users with column_type = 'Super'; |
・スーパーカラムありのカラムファミリを作成(UTF-8)
[default@sample] create column family users with column_type=Super and comparator=UTF8Type and subcomparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type; |
■カラムファミリの情報参照
[default@sample] describe users; ColumnFamily: users Key Validation Class: org.apache.cassandra.db.marshal.BytesType Default column value validator:org.apache.cassandra.db.marshal.BytesType Columns sorted by: org.apache.cassandra.db.marshal.BytesType GC grace seconds: 864000 Compaction min/max thresholds: 4/32 Read repair chance: 0.1 DC Local Read repair chance: 0.0 Populate IO Cache on flush: false Replicate on write: true Caching: KEYS_ONLY Bloom Filter FP chance: default Built indexes: [] Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy Compression Options: sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor |
■カラムファミリの削除
[default@sample] drop column family users; |
■カラムファミリのデータ削除
[default@sample] truncate users; |
【カラム操作】
■挿入
・通常のカラムファミリにデータを挿入
[default@sample] set users['rowkey1']['column1'] = 'value1'; |
・スーパカラムありのカラムファミリにデータを挿入
[default@sample] set users['rowkey1']['spcolumn1']['column1'] = 'value1'; |
※ カラムファミリーを作成する際にUTF-8を指定しないとここで以下のエラーが発生する。
org.apache.cassandra.db.marshal.MarshalException: cannot parse 'col1' as hex bytes
■件数取得
・ロウキー単位でのカラム件数取得
[default@sample] count users['rowkey1']; |
・スーパーカラム単位でのカラム件数取得
[default@sample] count users['rowkey1']['spcolumn1']; |
■取得
・ロウキーで取得
[default@sample] get users['rowkey1']; |
・ロウキー+カラム名で取得
[default@sample] get users['rowkey1']['column1']; |
・ロウキー+スーパーカラム名で取得
[default@sample] get users['rowkey1']['spcolumn1']; |
・ロウキー+スーパーカラム名+カラム名で取得
[default@sample] get users['rowkey1']['spcolumn1']['column1']; |
・全て取得
[default@sample] list users; |
■削除
・ロウを削除
[default@sample] del users['rowkey1']; |
・ロウキー+カラム名で削除
[default@sample] del users['rowkey1']['column1']; |
・ロウキー+スーパーカラム名で削除
[default@sample] get users['rowkey1']['spcolumn1']; |
・ロウキー+スーパーカラム名+カラム名で削除
[default@sample] get users['rowkey1']['spcolumn1']['column1']; |
【セカンダリインデックス】
カラムファミリに対してセカンダリインデックスを作成することで、
値を検索してデータを取得することができる。
■セカンダリインデックス作成
・新規カラムファミリにインデックスを作成
カラムファミリ作成時に「column_metadata」オプションを付ける。
[default@sample] create column family users with column_metadata = [ { column_name: column1, validation_class: UTF8Type, index_type: KEYS} ]; |
・既存カラムファミリにインデックスを作成
[default@sample] update column family users with column_metadata = [ { column_name: column1, validation_class: UTF8Type, index_type: KEYS} ]; |
■セカンダリインデックスで取得
[default@sample] get users where column1 = 'value1'; |
【Cassandra】
・
Cassandra - 概要 -・
Cassandra - データモデル -・
Cassandra - 読み込み・書き込みのアーキテクチャ -・
Cassandra - ディレクトリ構成 -・
Cassandra - CLI操作 -・
Cassandra - バックアップ・リカバリ -・
Cassandra - 使用ポート番号 -[0回]
PR
COMMENT