本文档说明:
http://snappydatainc.github.io/snappydata/rowAndColumnTables/
"使用PARTITION_BY {COLUMN}子句提供一组列名称,用于确定分区"
我希望以下列成为分区键: id _ 和时间_ 。
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');
当我运行它时,它表示一切正常,但是,如果我执行 snappy> describe example_column_table ,则time_和id_仍显示为IS_NULLABLE = YES。
如果我只做PARTIION_BY'时间_',然后执行 snappy>描述example_column_table ,该列显示为IS_NULLABLE = NO。
那么,我担心多列名称分区不起作用?
答案 0 :(得分:1)
即使您指定了多个分区列,列表分区也能正常工作。您可以通过查询计划验证是否将两个列都选为分区列。
IS_NULLABLE问题特定于CLOB(VARCHAR)列类型。你可以试试下面的DDL,其中第二个分区列number_不是CLOB,它也变成了IS_NULLABLE - > NO
活泼> CREATE TABLE EXAMPLE_COLUMN_TABLE2(id_ VARCHAR(64),name_ VARCHAR(128),time_ TIMESTAMP,number_ INTEGER)使用列OPTIONS(PARTITION_BY'time_,number_',buckets'113',PERSISTENT'ASYNCHRONOUS');