Cassandra 文件

版本

您正在檢視預發行版本的說明文件。

sstabledump

將特定 SSTable 的內容以 JSON 格式傾印到標準輸出。

您必須提供一個 sstable。

在執行此工具之前,Cassandra 必須停止,否則將會發生意外結果。注意:此腳本不會驗證 Cassandra 是否已停止。

用法

sstabledump <選項> <sstable 檔案路徑>

-d

每行 CQL 內部表示形式

-e

僅列舉分割鍵

-k <arg>

分割鍵

-x <arg>

排除的分割鍵

-t

列印原始時間戳,而非 iso8601 日期字串

-l

將每一列印為一個獨立的 JSON 物件

如有必要,請先使用 sstableutil 找出表格使用的 sstable。

傾印整個表格

在沒有任何選項的情況下傾印整個表格。

範例

sstabledump /var/lib/cassandra/data/keyspace/eventlog-65c429e08c5a11e8939edf4f403979ef/mc-1-big-Data.db > eventlog_dump_2018Jul26

cat eventlog_dump_2018Jul26
[
  {
    "partition" : {
      "key" : [ "3578d7de-c60d-4599-aefb-3f22a07b2bc6" ],
      "position" : 0
    },
    "rows" : [
      {
        "type" : "row",
        "position" : 61,
        "liveness_info" : { "tstamp" : "2018-07-20T20:23:08.378711Z" },
        "cells" : [
          { "name" : "event", "value" : "party" },
          { "name" : "insertedtimestamp", "value" : "2018-07-20 20:23:08.384Z" },
          { "name" : "source", "value" : "asdf" }
        ]
      }
    ]
  },
  {
    "partition" : {
      "key" : [ "d18250c0-84fc-4d40-b957-4248dc9d790e" ],
      "position" : 62
    },
    "rows" : [
      {
        "type" : "row",
        "position" : 123,
        "liveness_info" : { "tstamp" : "2018-07-20T20:23:07.783522Z" },
        "cells" : [
          { "name" : "event", "value" : "party" },
          { "name" : "insertedtimestamp", "value" : "2018-07-20 20:23:07.789Z" },
          { "name" : "source", "value" : "asdf" }
        ]
      }
    ]
  },
  {
    "partition" : {
      "key" : [ "cf188983-d85b-48d6-9365-25005289beb2" ],
      "position" : 124
    },
    "rows" : [
      {
        "type" : "row",
        "position" : 182,
        "liveness_info" : { "tstamp" : "2018-07-20T20:22:27.028809Z" },
        "cells" : [
          { "name" : "event", "value" : "party" },
          { "name" : "insertedtimestamp", "value" : "2018-07-20 20:22:27.055Z" },
          { "name" : "source", "value" : "asdf" }
        ]
      }
    ]
  }
]

以更易於管理的格式傾印表格

使用 -l 選項將每列轉儲為一個獨立的 JSON 物件。這將使輸出更容易處理大型資料集。參考:issues.apache.org/jira/browse/CASSANDRA-13848

範例

sstabledump /var/lib/cassandra/data/keyspace/eventlog-65c429e08c5a11e8939edf4f403979ef/mc-1-big-Data.db -l > eventlog_dump_2018Jul26_justlines

cat eventlog_dump_2018Jul26_justlines
[
  {
    "partition" : {
      "key" : [ "3578d7de-c60d-4599-aefb-3f22a07b2bc6" ],
      "position" : 0
    },
    "rows" : [
      {
        "type" : "row",
        "position" : 61,
        "liveness_info" : { "tstamp" : "2018-07-20T20:23:08.378711Z" },
        "cells" : [
          { "name" : "event", "value" : "party" },
          { "name" : "insertedtimestamp", "value" : "2018-07-20 20:23:08.384Z" },
          { "name" : "source", "value" : "asdf" }
        ]
      }
    ]
  },
  {
    "partition" : {
      "key" : [ "d18250c0-84fc-4d40-b957-4248dc9d790e" ],
      "position" : 62
    },
    "rows" : [
      {
        "type" : "row",
        "position" : 123,
        "liveness_info" : { "tstamp" : "2018-07-20T20:23:07.783522Z" },
        "cells" : [
          { "name" : "event", "value" : "party" },
          { "name" : "insertedtimestamp", "value" : "2018-07-20 20:23:07.789Z" },
          { "name" : "source", "value" : "asdf" }
        ]
      }
    ]
  },
  {
    "partition" : {
      "key" : [ "cf188983-d85b-48d6-9365-25005289beb2" ],
      "position" : 124
    },
    "rows" : [
      {
        "type" : "row",
        "position" : 182,
        "liveness_info" : { "tstamp" : "2018-07-20T20:22:27.028809Z" },
        "cells" : [
          { "name" : "event", "value" : "party" },
          { "name" : "insertedtimestamp", "value" : "2018-07-20 20:22:27.055Z" },
          { "name" : "source", "value" : "asdf" }
        ]
      }
    ]
  }

僅轉儲金鑰

使用 -e 選項僅轉儲金鑰。

範例

sstabledump /var/lib/cassandra/data/keyspace/eventlog-65c429e08c5a11e8939edf4f403979ef/mc-1-big-Data.db -e > eventlog_dump_2018Jul26_justkeys

cat eventlog_dump_2018Jul26b
[ [ "3578d7de-c60d-4599-aefb-3f22a07b2bc6" ], [ "d18250c0-84fc-4d40-b957-4248dc9d790e" ], [ "cf188983-d85b-48d6-9365-25005289beb2" ]

轉儲單一金鑰的列

使用 -k 選項轉儲單一金鑰。

範例

sstabledump /var/lib/cassandra/data/keyspace/eventlog-65c429e08c5a11e8939edf4f403979ef/mc-1-big-Data.db -k 3578d7de-c60d-4599-aefb-3f22a07b2bc6 > eventlog_dump_2018Jul26_singlekey

cat eventlog_dump_2018Jul26_singlekey
[
  {
    "partition" : {
      "key" : [ "3578d7de-c60d-4599-aefb-3f22a07b2bc6" ],
      "position" : 0
    },
    "rows" : [
      {
        "type" : "row",
        "position" : 61,
        "liveness_info" : { "tstamp" : "2018-07-20T20:23:08.378711Z" },
        "cells" : [
          { "name" : "event", "value" : "party" },
          { "name" : "insertedtimestamp", "value" : "2018-07-20 20:23:08.384Z" },
          { "name" : "source", "value" : "asdf" }
        ]
      }
    ]
  }

在列的轉儲中排除一個或多個金鑰

轉儲一個表格,但使用 -x 選項排除的列除外。可以使用多個金鑰。

範例

sstabledump /var/lib/cassandra/data/keyspace/eventlog-65c429e08c5a11e8939edf4f403979ef/mc-1-big-Data.db -x 3578d7de-c60d-4599-aefb-3f22a07b2bc6 d18250c0-84fc-4d40-b957-4248dc9d790e  > eventlog_dump_2018Jul26_excludekeys

cat eventlog_dump_2018Jul26_excludekeys
[
  {
    "partition" : {
      "key" : [ "cf188983-d85b-48d6-9365-25005289beb2" ],
      "position" : 0
    },
    "rows" : [
      {
        "type" : "row",
        "position" : 182,
        "liveness_info" : { "tstamp" : "2018-07-20T20:22:27.028809Z" },
        "cells" : [
          { "name" : "event", "value" : "party" },
          { "name" : "insertedtimestamp", "value" : "2018-07-20 20:22:27.055Z" },
          { "name" : "source", "value" : "asdf" }
        ]
      }
    ]
  }

顯示原始時間戳記

預設情況下,日期會以 iso8601 日期格式顯示。使用 -t 選項會將資料轉儲為原始時間戳記。

範例

sstabledump /var/lib/cassandra/data/keyspace/eventlog-65c429e08c5a11e8939edf4f403979ef/mc-1-big-Data.db -t -k cf188983-d85b-48d6-9365-25005289beb2 > eventlog_dump_2018Jul26_times

cat eventlog_dump_2018Jul26_times
[
  {
    "partition" : {
      "key" : [ "cf188983-d85b-48d6-9365-25005289beb2" ],
      "position" : 124
    },
    "rows" : [
      {
        "type" : "row",
        "position" : 182,
        "liveness_info" : { "tstamp" : "1532118147028809" },
        "cells" : [
          { "name" : "event", "value" : "party" },
          { "name" : "insertedtimestamp", "value" : "2018-07-20 20:22:27.055Z" },
          { "name" : "source", "value" : "asdf" }
        ]
      }
    ]
  }

在輸出中顯示內部結構

以反映內部結構的格式轉儲表格。

範例

sstabledump /var/lib/cassandra/data/keyspace/eventlog-65c429e08c5a11e8939edf4f403979ef/mc-1-big-Data.db -d > eventlog_dump_2018Jul26_d

cat eventlog_dump_2018Jul26_d
[3578d7de-c60d-4599-aefb-3f22a07b2bc6]@0 Row[info=[ts=1532118188378711] ]:  | [event=party ts=1532118188378711], [insertedtimestamp=2018-07-20 20:23Z ts=1532118188378711], [source=asdf ts=1532118188378711]
[d18250c0-84fc-4d40-b957-4248dc9d790e]@62 Row[info=[ts=1532118187783522] ]:  | [event=party ts=1532118187783522], [insertedtimestamp=2018-07-20 20:23Z ts=1532118187783522], [source=asdf ts=1532118187783522]
[cf188983-d85b-48d6-9365-25005289beb2]@124 Row[info=[ts=1532118147028809] ]:  | [event=party ts=1532118147028809], [insertedtimestamp=2018-07-20 20:22Z ts=1532118147028809], [source=asdf ts=1532118147028809]