Create Materialized View

Initiates the process of creating a materialized view, reserving the view's name to prevent other views or tables from being created with that name.

For materialized view details and examples, see Materialized Views.

The response contains output parameter view_id, which is used to tag each subsequent operation (projection, union, aggregation, filter, or join) that will compose the view.

Input Parameter Description

Name Type Description
table_name string Name of the table to be created that is the top-level table of the materialized view, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria.
options map of string to strings

Optional parameters. The default value is an empty map ( {} ).

Supported Parameters (keys) Parameter Description
collection_name [DEPRECATED--please specify the containing schema for the materialized view as part of input parameter table_name and use Create Schema to create the schema if non-existent] Name of a schema which is to contain the newly created view. If the schema provided is non-existent, it will be automatically created.
ttl Sets the TTL of the table specified in input parameter table_name.
persist

If true, then the materialized view specified in input parameter table_name will be persisted and will not expire unless a ttl is specified. If false, then the materialized view will be an in-memory table and will expire unless a ttl is specified otherwise. The default value is false. The supported values are:

  • true
  • false
refresh_method

Method by which the join can be refreshed when the data in underlying member tables have changed. The default value is manual.

Supported Values Description
manual Refresh only occurs when manually requested by calling Alter Table with an 'action' of 'refresh'
on_query Refresh any time the view is queried.
on_change If possible, incrementally refresh (refresh just those records added) whenever an insert, update, delete or refresh of input table is done. A full refresh is done if an incremental refresh is not possible.
periodic Refresh table periodically at rate specified by refresh_period
refresh_period When refresh_method is periodic, specifies the period in seconds at which refresh occurs
refresh_start_time When refresh_method is periodic, specifies the first time at which a refresh is to be done. Value is a datetime string with format 'YYYY-MM-DD HH:MM:SS'.
execute_as User name to use to run the refresh job

Output Parameter Description

Name Type Description
table_name string Value of input parameter table_name.
view_id string Value of view_id.
info map of string to strings

Additional information. The default value is an empty map ( {} ).

Possible Parameters (keys) Parameter Description
qualified_table_name The fully qualified name of the result table (i.e. including the schema)