ALTER MATERIALIZED VIEW
Changes materialized view table properties. The statement returns no results.
Limitations
-
Changing columns is not supported.
-
Change log, CDC, is not available for materialized views.
Synopsis
ALTER MATERIALIZED VIEW [<keyspace_name>.]<view_name> WITH <table_options> [ AND <table_options> ... ] ;
| Syntax conventions | Description |
|---|---|
UPPERCASE |
Literal keyword. |
Lowercase |
Not literal. |
|
Variable value. Replace with a user-defined value. |
|
Optional.
Square brackets ( |
|
Group.
Parentheses ( |
|
Or.
A vertical bar ( |
|
Repeatable.
An ellipsis ( |
|
Single quotation ( |
|
Map collection.
Braces ( |
Set, list, map, or tuple.
Angle brackets ( |
|
|
End CQL statement.
A semicolon ( |
|
Separate the command line options from the command arguments with two hyphens ( |
|
Search CQL only: Single quotation marks ( |
|
Search CQL only: Identify the entity and literal value to overwrite the XML element in the schema and solrConfig files. |
- keyspace_name
-
Selects a keyspace.
- view_name
-
Selects the materialized view.
- table_options
-
Table options are defined when the materialized view is created. Modify the table_options in the
WITHclause using the following syntax:-
String values wrapped in single quotes:
<option_name> = '<value>' -
Non-string values (not quoted):
<option_name> = <value> -
Options with multiple subproperties in simple JSON format:
<option_name> = { <option_map> } -
Set multiple table options using
AND.
Materialized views do not perform repair in the same way as the base table, so properties regarding repair are invalid.
-
Examples
- Alter bloom filter and add a metadata comment
-
Add a comment and set the bloom filter properties:
ALTER MATERIALIZED VIEW cycling.cyclist_by_age WITH comment = 'A most excellent and useful view' AND bloom_filter_fp_chance = 0.02; - Alter compression and compaction
-
Use a property map to specify new properties for compression or compaction.
ALTER MATERIALIZED VIEW cycling.cyclist_by_age WITH compression = { 'sstable_compression' : 'DeflateCompressor', 'chunk_length_kb' : 64 } AND compaction = { 'class' : 'SizeTieredCompactionStrategy', 'max_threshold' : 64 }; - Alter caching
-
You can create and change
cachingproperties in the materialized view definition.This example enables the row cache:
ALTER MATERIALIZED VIEW cycling.cyclist_by_age WITH caching = { 'rows_per_partition' : '15' };Caching is also configured in
cassandra.yaml. - Get materialized view definition
-
Use
DESCRIBE MATERIALIZED VIEWto get the current properties for a materialized view:DESCRIBE MATERIALIZED VIEW cycling.cyclist_by_age;ResultCREATE MATERIALIZED VIEW cycling.cyclist_by_age AS SELECT age, cid, birthday, country, name FROM cycling.cyclist_base WHERE age IS NOT NULL AND cid IS NOT NULL PRIMARY KEY (age, cid) WITH CLUSTERING ORDER BY (cid ASC) AND additional_write_policy = '99PERCENTILE' AND bloom_filter_fp_chance = 0.01 AND caching = {'keys': 'ALL', 'rows_per_partition': '100'} AND comment = 'Based on table cyclist_base' AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'} AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'} AND crc_check_chance = 1.0 AND default_time_to_live = 0 AND gc_grace_seconds = 864000 AND max_index_interval = 2048 AND memtable_flush_period_in_ms = 0 AND min_index_interval = 128 AND read_repair = 'BLOCKING' AND speculative_retry = '99PERCENTILE';