Creates a new projection of an existing table. A projection represents a subset of the columns (potentially including derived columns) of a table.
Notes:
A moving average can be calculated on a given column using the following syntax in the input parameter column_names parameter:
'moving_average(column_name,num_points_before,num_points_after) as new_column_name'
For each record in the moving_average function's 'column_name' parameter, it computes the average over the previous 'num_points_before' records and the subsequent 'num_points_after' records.
Note that moving average relies on order_by, and order_by requires that all the data being ordered resides on the same processing node, so it won't make sense to use order_by without moving average.
Also, a projection can be created with a different shard key than the source table. By specifying shard_key, the projection will be sharded according to the specified columns, regardless of how the source table is sharded. The source table can even be unsharded or replicated.
Input Parameter Description
| Name | Type | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| table_name | string | Name of the existing table on which the projection is to be applied. | ||||||||||||||||||||
| projection_name | string | Name of the projection to be created. Has the same naming restrictions as tables. | ||||||||||||||||||||
| column_names | array of strings | List of columns from input parameter table_name to be included in the projection. Can include derived columns. Can be specified as aliased via the syntax 'column_name as alias'. | ||||||||||||||||||||
| options | map of string to strings | Optional parameters. Default value is an empty map ( {} ).
|
Output Parameter Description
| Name | Type | Description |
|---|---|---|
| projection_name | string | Value of input parameter projection_name. |