0

キースペースに複数の列ファミリーを作成する必要があります。1つの方法は、列ファミリーを1つずつ作成することです..しかし、私の場合、約100個の列ファミリーがあるため、1つずつ行うことはできません...だから、何らかの方法で複数の列ファミリーを作成する方法はありますか1 回の短い操作で複数の列ファミリーを作成できるスクリプトはありますか?

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

また、これらの複数の列ファミリーを作成した後..これらすべての列ファミリーを再度削除する必要がある場合、スクリプトを使用してそれを行う方法を考えてみてください。

以下は、ローカル マシンからステージング カサンドラ サーバーに列ファミリーを 1 つずつ作成する方法ですが、これは私が望んでいるものではありません。

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.

[default@unknown] use profileks;
Authenticated to keyspace: profileks
[default@profileks] 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
[default@profileks]

ある種のスクリプトを使用して複数の列ファミリーを作成し、それらの列ファミリーを何らかのスクリプトを使用してドロップすることが可能かどうか、誰でも助けてもらえますか?

4

3 に答える 3

1

サンプルスクリプトはこちら

キースペース作成スクリプト

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>
于 2013-09-27T07:00:57.113 に答える
0

@TechGeeky

cassandra-cli -f -k は、宣言されたキースペースでスクリプト ファイル内のすべてのコマンドを実行します。

CF をゼロからドロップして作成するために、以前は次のことを行う 2 つのスクリプトがありました。

キースペース スクリプト

1 ドロップ キースペース xxx

2 ...でキースペースxxxを作成します

構造スクリプト

1 列ファミリーを作成 ...

...

n. 列ファミリーを作成する

重要なことの 1 つは、create column family が 1 行に収まるようにすることです。すべての改行を削除します。

于 2013-09-26T20:23:19.420 に答える
0

コマンドを使用SOURCE 'file'して、ファイルに記述された一連のステートメント全体を実行できます。リンクを参照してください

: .txt ファイルには、いくつかのスキーマ、キースペースの作成、列ファミリーの作成、およびその他の関連する多くのものを記述しました。次に、SOURCE コマンドを使用して、ファイル内のすべてのステートメントを実行します。

于 2013-09-27T08:59:37.690 に答える