2013-09-26 56 views
0

我必須在我的密鑰空間中創建多個列族。一種方法是逐個創建列族......但就我而言,我有大約100個列族,所以我不能一個接一個地做......所以有什麼辦法,我可以通過某種方式創建多個列族腳本可以爲我創建多個列家族在一個短?如何使用某些腳本創建多個列族?

create column family USER_DATA_SECOND_1 
with comparator = 'UTF8Type' 
and key_validation_class = 'CompositeType(DateType,UTF8Type)' 
and default_validation_class = 'BytesType' 
and gc_grace = 86400 

create column family USER_DATA_SECOND_2 
with comparator = 'UTF8Type' 
and key_validation_class = 'CompositeType(DateType,UTF8Type)' 
and default_validation_class = 'BytesType' 
and gc_grace = 86400 

create column family USER_DATA_SECOND_3 
with comparator = 'UTF8Type' 
and key_validation_class = 'CompositeType(DateType,UTF8Type)' 
and default_validation_class = 'BytesType' 
and gc_grace = 86400 

.... 
.... 
.... 

create column family USER_DATA_SECOND_100 
with comparator = 'UTF8Type' 
and key_validation_class = 'CompositeType(DateType,UTF8Type)' 
and default_validation_class = 'BytesType' 
and gc_grace = 86400 

而且還創造這些多列的家庭..假設,如果我需要再次下降,這些都列族則是如何再使用一些腳本後做?

下面是這樣的,我現在接一個,這不是我想要的創建列族從我的本地機器到我的分期卡珊德拉服務器一個..

C:\Apache Cassandra\apache-cassandra-1.2.3\bin>cassandra-cli -h sc-cdbhost01.vip.slc.qa.host.com 
Starting Cassandra Client 
Connected to: "Staging Cluster cass01" on sc-cdbhost01.vip.slc.qa.host.com/9160 
Welcome to Cassandra CLI version 1.2.3 

Type 'help;' or '?' for help. 
Type 'quit;' or 'exit;' to quit. 

[[email protected]] use profileks; 
Authenticated to keyspace: profileks 
[[email protected]] create column family USER_DATA_SECOND_1 
...  with comparator = 'UTF8Type' 
...  and key_validation_class = 'CompositeType(DateType,UTF8Type)' 
...  and default_validation_class = 'BytesType' 
...  and gc_grace = 86400; 
27fe1848-c7de-3994-9289-486a9bbbf344 
[[email protected]] 

誰能幫我,這是否是否可以通過某種腳本創建多個列族,然後通過某種腳本刪除這些列族?

回答

1

下面是示例腳本

KEYSPACE創建腳本

drop keyspace my_keyspace; 
create keyspace my_keyspace with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy' and strategy_options = {replication_factor:1}; 

執行它:

cassandra-cli -h <hostname> -p <port> -u <user> -pw <password> -f <keyspace_script> 


架構創建腳本

create column family USER_DATA_SECOND_1 with comparator = 'UTF8Type' and key_validation_class = 'CompositeType(DateType,UTF8Type)' and default_validation_class = 'BytesType' and gc_grace = 86400; 
create column family USER_DATA_SECOND_2 with comparator = 'UTF8Type' and key_validation_class = 'CompositeType(DateType,UTF8Type)' and default_validation_class = 'BytesType' and gc_grace = 86400; 
... 

執行它:

cassandra-cli -h <hostname> -p <port> -u <user> -pw <password> -k my_keyspace -f <schema_script> 
0

@TechGeeky

卡桑德拉-CLI -f -k在腳本文件中聲明的密鑰空間

刪除和從頭開始創建CF將執行所有的命令,我們曾經有過一個2腳本作用:

KEYSPACE腳本

1滴密鑰空間XXX

2創建密鑰空間XXX與...

結構腳本

1創建列的家人...

...

ñ。創建列族

一個重要的事情,創建列家族應該保持在1行。刪除所有換行符。

+0

謝謝你的建議......你能用腳本提供一個簡單的例子嗎?我對腳本語言並不熟悉......這將幫助我更好地理解一個簡單的例子。謝謝.. – ferhan

0

可以使用SOURCE 'file'命令來執行一整套書面文件中的語句。請參閱link

e.g:在一個.txt文件你已經寫了一些模式,創建密鑰空間中,創造列FAMILIE &很多其他相關的東西的。然後使用SOURCE命令執行文件內的所有語句。

相關問題