2016-07-16 2 views
0

Ich versuche, Cassandra SE und MariaDB Interoperabilität zu implementieren. In cqlsh kann ich Tabelle mit zusammengesetzten Schlüsseln erstellen. Wenn ich das gleiche in Mariadb versuche, bekomme ich Fehler ERROR 1070 (42000): Too many key parts specified; max 1 parts allowed. Hier ist mein Code, die ich in cqlsh verwendet:Zu viele wichtige Teile angegeben; Max 1 Teile erlaubt Cassandra Engine und Mariadb

cqlsh:mariadbtest> create table test (test1 int, test2 bigint, test3 varchar, primary key (test1, test2)) with compact STORAGE; 

In Mariadb:

MariaDB [test]> set global cassandra_default_thrift_host='localhost'; 

MariaDB [test]> create table random (test1 int(5), test2 bigint(5), test3 varchar(20), PRIMARY KEY (test1, test2)) engine=cassandra keyspace='historian' thrift_host='localhost' column_family='test'; 
ERROR 1070 (42000): Too many key parts specified; max 1 parts allowed 

Wenn ich einzelne Spalte als meine primäre Schlüssel verwenden, funktioniert es ohne Fehler in Ordnung. Bitte helfen Sie mir, wie Sie das Problem mit zusammengesetzten Schlüsseln lösen können. Jede Hilfe wäre willkommen.

Antwort

0

Dies wird in der Speicher-Engine nicht unterstützt. Entsprechend der docs:

Hinweis: Mehrspaltige Primärschlüssel werden derzeit nicht unterstützt. Abhängig davon, ob Bedarf besteht, kann der Support in einer zukünftigen Version hinzugefügt werden.

Es ist unklar, ob Sie einen zusammengesetzten Partitionsschlüssel (d. H. PRIMARY KEY ((test1, test2))) definieren könnten. Ich bin mir auch nicht sicher, ob das überhaupt Ihren Bedürfnissen entspricht. Es klingt, als ob Sie Ihr Interesse erklären sollten, wenn Sie das brauchen.

+0

Ich versuchte Composite Partition Key und ich bekomme den gleichen Fehler. Ja, ich brauche es für meinen Tisch. Können Sie mir bitte ein Beispiel geben, wie Sie den Composite-Key in Cassandra SE und MySQL verwenden? – user2782405