2013-05-08 22 views

cevap

12

Eğer cassandra-cli kullanıyorsanız, 'show schema;' tüm şemayı dökmek için komut. 'anahtar boşluğunu;' kullanarak çalıştırarak belirli bir tuş alanını kısıtlayabilirsiniz; ilk.

Çıkışı bir dosyada saklayabilir, daha sonra 'cassandra-cli -f dosya adı' ile içe aktarabilirsiniz.

Eğer cqlsh kullanılıyorsa, 'şema tanımla' komutunu kullanabilirsiniz. 'Anahtar alanı anahtar alanı' anahtar kelimesini açıklayan bir tuş ile kısıtlayabilirsiniz.

Bunu bir dosyaya kaydedebilir, ardından 'cqlsh -f dosya adı' ile içe aktarabilirsiniz.

+0

Merhaba Richard, Cevabınız için Teşekkür. Her iki hizmette de anahtar alanını içe aktarmayı belirttiniz. Ancak, hem cassandra-cli hem de cqlsh üzerindeki anahtar aralığını nasıl içe ve dışa aktaracağım konusunda hizmet vermem gerekiyor. Lütfen bilgileri sözdizimi ile sağlayın. – vpggopal

+0

@vpggopal Bunun için ona ödeme yapmanız gerekebilir. –

+0

Şemayı oluşturmak için cassandra-cli'yi kullandıysanız, yukarıda yazdığım cassandra-cli komutlarını kullanın. Eğer cqlsh kullandıysanız cqlsh komutlarını kullanın. Her ikisini de kullanmayın ve cassandra-cli'nun çıkışında cql3 tabloları olmayacağını unutmayın. – Richard

10

Gelecekte, "CassandraHost" sunucusundaki "myschema" ile şema/keyspace için ddl almak isteyen bir kişi için.

echo -e "use myschema;\nDESCRIBE KEYSPACE;\n" | cqlsh CassandraHost > mySchema.cdl 

ve (veri olmadan) sadece DDL almak için aşağıdakileri kullanabilirsiniz:

cqlsh CassandraNEWhost -f mySchema.cdl 
+0

Bu, yalnızca uyumlu bir sürümde bulunuyorsa uzak ana bilgisayarla çalışır. –

44

KEYSPACE şemasını vermek için:

cqlsh -e "DESC SCHEMA" > db_schema.cql 
:

cqlsh -e "DESC KEYSPACE user" > user_schema.cql 

tüm veritabanı şemasını aktarmak için Şemayı içe aktarmak için

'user_schema.cql' ('db_schema.cql') konumunda açık bir terminal (veya tam yolu belirtebilirsiniz) ve cqlsh kabuğunu açın. Sonra KEYSPACE şemasını almak için aşağıdaki komutu kullanın: Komut satırından düz

source 'db_schema.cql' 
+1

Teşekkürler, mükemmel çalışıyor! (Bizim örneğimiz, yapılandırmada bir rpc_address kullandığı için, cqlsh'den sonra IP/ana bilgisayar adını eklemeliydim). – Jess

+0

Veri ile crmdata adlı şemayı vermeyi deniyorum, lütfen bana bu cmd 'cqlsh -e" crmdata "> db_schema.cql' komutunu çalıştırmam gerektiğini söyler misiniz? – ZAJ

5

Everything:

source 'user_schema.cql' 

tam veritabanı şemasını içe aktarın. Cqlsh'e gitmeye gerek yok.

İthalat şema (.cql dosyası):

$ cqlsh -e "SOURCE '/path/to/schema.cql'" 

İhracat KEYSPACE:

$ cqlsh -e "DESCRIBE KEYSPACE somekeyspace" > /path/to/somekeyspace.cql 

İhracat veritabanı şeması:

$ cqlsh -e "DESCRIBE SCHEMA" > /path/to/schema.cql 
İlgili konular