2013-05-08 13 views

Odpowiedz

12

Jeśli używasz cassandra-cli, możesz użyć "schematu show"; polecenie, aby zrzucić cały schemat. Możesz ograniczyć się do określonego obszaru klucza, uruchamiając "użyj keyspace;" pierwszy.

Dane wyjściowe można zapisać w pliku, a następnie zaimportować za pomocą "cassandra-cli-f nazwa pliku".

Jeśli używasz cqlsh, możesz użyć polecenia "opisz schemat". Możesz ograniczyć do obszaru kluczy za pomocą "opisz keyspace keyspace".

Możesz zapisać to w pliku, a następnie importować za pomocą "cqlsh -f nazwa pliku".

+0

Cześć Richard, Dziękuję za odpowiedź. Użytkownik określił import przestrzeni kluczy w obu usługach. Ale muszę zarówno usługi w jaki sposób importować i eksportować keyspace na cassandra-cli i cqlsh ?. Podaj informacje za pomocą składni. – vpggopal

+0

@vpggopal Myślę, że być może będziesz musiał za to zapłacić. –

+0

Jeśli użyłeś cassandra-cli do stworzenia swojego schematu, użyj poleceń cassandra-cli, które napisałem powyżej. Jeśli użyłeś cqlsh, użyj poleceń cqlsh. Nie używaj obu i pamiętaj, że cassandra-cli nie będzie zawierało tabel cql3 na wyjściu. – Richard

10

Dla kogoś, kto przychodzi w przyszłości, wystarczy pobrać ddl ze schematu/keyspace z "myschema" na serwerze "CassandraHost".

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

i można korzystać z następujących importować tylko DDL (bez danych):

cqlsh CassandraNEWhost -f mySchema.cdl 
+0

Działa to tylko ze zdalnym hostem, jeśli jest on w kompatybilnej wersji. –

44

Aby wyeksportować schemat KEYSPACE:

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

Aby wyeksportować całą schematu bazy danych:

cqlsh -e "DESC SCHEMA" > db_schema.cql 

Aby zaimportować schemat otwarty terminal w lokalizacji "user_schema.cql" ("db_schema.cql") (lub możesz podać pełną ścieżkę) i otworzyć powłokę cqlsh. Następnie należy użyć następującego polecenia, aby zaimportować schemat KEYSPACE:

source 'user_schema.cql' 

Aby zaimportować pełnego schematu bazy danych:

source 'db_schema.cql' 
+1

Dzięki, działa idealnie! (Musiałem włączyć IP/hostname po cqlsh, ponieważ nasza instancja używa rpc_address w konfiguracji). – Jess

+0

Próbuję wyeksportować mój schemat o nazwie crmdata z jego danymi, czy możesz mi powiedzieć, gdzie muszę uruchomić ten cmd 'cqlsh -e" crmdata "> db_schema.cql' – ZAJ

5

Wszystko prosto z linii poleceń. Nie musisz wchodzić w cqlsh.

schematu importu (.cql pliku):

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

Export KEYSPACE:

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

Export schematu bazy danych:

$ cqlsh -e "DESCRIBE SCHEMA" > /path/to/schema.cql 
Powiązane problemy