2013-08-07 41 views
14

假設我使用CQL來定義此表。有沒有辦法發現Cassandra CQL表結構?

CREATE TABLE songs (
    id uuid PRIMARY KEY, 
    title text, 
    album text, 
    artist text, 
    tags set<text>, 
    data blob); 

其他開發人員(或者我幾個星期後)如何(重新)發現此表的佈局?

我正在考慮與MySQL DESCRIBE {tablename}命令等效。

[編輯]

我看到有在Cassandra的命令行界面(CLI)一個DESCRIBE方法,但在使用時,它指出它不包括在其結果CQL表的信息。

+0

提示:描述的ColumnFamily和TAB鍵 - 讓一個密鑰空間 –

回答

27

你應該嘗試cqlsh工具,它會告訴你,你想要什麼:

[email protected]: ~$ ./cqlsh 
cqlsh> use system; 
cqlsh> describe columnfamily local; 

CREATE TABLE local (
    key text PRIMARY KEY, 
    bootstrapped text, 
    cluster_name text, 
    cql_version text, 
    data_center text, 
    gossip_generation int, 
    host_id uuid, 
    partitioner text, 
    rack text, 
    release_version text, 
    schema_version uuid, 
    thrift_version text, 
    tokens set<text>, 
    truncated_at map<uuid, blob> 
) WITH 
    bloom_filter_fp_chance=0.010000 AND 
    caching='KEYS_ONLY' AND 
    comment='information about the local node' AND 
    dclocal_read_repair_chance=0.000000 AND 
    gc_grace_seconds=0 AND 
    read_repair_chance=0.000000 AND 
    replicate_on_write='true' AND 
    populate_io_cache_on_flush='false' AND 
    compaction={'class': 'SizeTieredCompactionStrategy'} AND 
    compression={'sstable_compression': 'SnappyCompressor'}; 

編輯
雖然在大掛我的博客是洪水的時間。要在Windows中運行cqlsh:

  • 第一安裝python 2.7.x(而不是Python 3!) download
  • 添加蟒蛇到您的路徑(作爲一個新的環境變量)
  • 運行安裝程序通過導航到 C:\dir\to\cassandra\pylib在一個cmd提示和執行下面 行:

    python setup.py install 
    

GZ。現在你在windows上有了cqlsh。

+0

什麼是Windows相當於這項計劃下表的名單?我只看到一個我無法從Windows運行的UNIX shell腳本。 – Vinnie

+0

您需要安裝python 2.7.x並通過python啓動cqlsh,沒有windows替代選項,cqlsh是您想要的應用程序。檢查[**這個博客出來**](http://devasive.blogspot.co.uk/2012/10/cql-terminal-for-cassandra-on-windows.html),它詳細解釋它。 –

+0

作爲一個說明,你不需要下載python節儉,它帶有cassandra在'C:\ apache-cassandra-1.2.4 \ pylib'文件夾下。只需導航到'pylib'文件夾並執行'python setup.py install' –

6

它也可以在DevCenter和OpsCenter中完成。

DevCenter:在Schema中查找表 - >右鍵單擊 - >克隆表。您可以在窗口的按鈕中找到CQL預覽。

的OpsCenter:羣集 - >數據 - >表

相關問題