2013-08-22 17 views
5

Cassandra kümesinde eski bir anahtar boşluk oluşturdum ancak "karşılaştırıcı" tanımının yanlış olduğunu fark ettim, bu yüzden yeni bir anahtar alanı yeniden oluşturmalı ve veri geçişi yapmalıyım. Veri taşıma yapmak için herhangi bir araç var mı? ya da Thrift istemcisiyle program yapmalıyım, eski anahtar alandaki tüm verileri okuyayım ve bunları yeni tuş alanına yazmalı mıyım? Herhangi bir öneri veya kod parçacıkları açığız!Cassandra'nın veri geçişini bir tuştan başka bir tuş alanına nasıl geçirirsiniz?

cevap

0

Bunu cql'de COPY komutunu kullanarak yapabiliriz. COPY komutunu kullanarak tablo verilerini .csv dosyasına kaydedebilir ve .csv dosyasından bir tabloya geri döndürebiliriz. Ancak, daha iyi bir yaklaşım tabloyu okumak ve tabloyu list<text>, , map<text, text>, set<text> gibi toplama sütun türleri içeriyorsa, csv alma başarısız olabilir, çünkü tablodan okumak ve başka bir tabloya yazmak olacaktır.

Örn: -

COPY keyspace2.table1 (column1, column2) FROM 'path/to/file/keyspace1_table1.csv'; 

Cassandra migration tool

bakın -:

COPY keyspace1.table1 (column1, column2) TO 'path/to/file/keyspace1_table1.csv'; 

bir tabloya dosyadan csv verileri kopyalamak için - dosyayı .csv tablodan tablo verilerini kopyalamak için

İlgili konular