2016-08-05 13 views
1

Diese Dokumentation heißt es:Wie mache ich PARTITION_BY mehrere Spaltennamen in einer Spalte Tabelle?

http://snappydatainc.github.io/snappydata/rowAndColumnTables/

„Verwenden Sie die PARTITION_BY {COLUMN} Klausel eine Reihe von Spaltennamen zu schaffen, die die Partitionierung bestimmen,“

Ich möchte die folgenden Spalten die sein Partitionsschlüssel: id_ und time_.

CREATE TABLE EXAMPLE_COLUMN_TABLE ( id_ VARCHAR(64), name_ VARCHAR(128),  time_ TIMESTAMP, number_ INTEGER ) USING column OPTIONS(PARTITION_BY 'time_, id_', buckets '113', PERSISTENT 'ASYNCHRONOUS'); 

Als ich das laufen, sagt es alles in Ordnung ist, aber wenn ich ein bissig tun> beschreiben example_column_table, time_ und id_ zeigt nach wie vor als IS_NULLABLE up = YES.

Wenn ich nur PARTIION_BY 'time_' zu tun, und dann ein bissig> beschreiben example_column_table, dass Spalte als IS_NULLABLE = NO.

Also, ich bin besorgt, dass mehrere Spaltennamen Partitionierung nicht funktioniert?

Antwort

1

Die Spaltentabellenpartitionierung funktioniert auch dann einwandfrei, wenn Sie mehrere Partitionsspalten angeben. Sie können anhand des Abfrageplans überprüfen, dass beide Spalten als Partitionierungsspalten ausgewählt werden.

Das IS_NULLABLE-Problem ist spezifisch für den Spaltentyp CLOB (VARCHAR). Können Sie bitte DDL folgen, wo die zweite Partitionierungsspalte number_ kein CLOB ist und auch IS_NULLABLE -> NO

bissig> CREATE TABLE EXAMPLE_COLUMN_TABLE2 (id_ VARCHAR (64), name_VARCHAR (128), time_TIMESTAMP, number_ INTEGER) VERWENDUNG der Spalte OPTIONS (PARTITION_BY 'time_, number_', Buckets '113', PERSISTENT 'ASYNCHRONOUS');