.create-or-alter materialized-view
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer
Crea una vista materializada o modifica una ya existente.
Permisos
Debe tener al menos permisos de administrador de vista materializado para ejecutar este comando.
Sintaxis
.create-or-alter
materialized-view
[ with
(
PropertyName =
PropertyValue,
...)
] Consulta MaterializedViewName SourceTableName {
on table
}
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
PropertyName, PropertyValue | string |
Lista de propiedades en forma de pares nombre y valor, de la lista de propiedades admitidas. | |
MaterializedViewName | string |
✔️ | Nombre de la vista materializada. El nombre de la vista no puede entrar en conflicto con los nombres de tabla o función de la misma base de datos y debe cumplir las reglas de nomenclatura de identificadores. |
SourceTableName | string |
✔️ | Nombre de la tabla de origen en la que se define la vista. |
Consulta | string |
✔️ | Definición de consulta de la vista materializada. |
Propiedades admitidas
Nueva tabla
Si la tabla es nueva, se admiten las siguientes propiedades en PropertyName with(
=
PropertyValue . )
Todas las propiedades son opcionales.
Nombre | Escribir | Descripción |
---|---|---|
Relleno | bool |
Si desea crear la vista en función de todos los registros que se encuentran actualmente en SourceTable (true ) o crearla desde ahora (false ). El valor predeterminado es false . Para obtener más información, consulte Reposición de una vista materializada. |
effectiveDateTime | datetime |
Solo es relevante cuando se usa backfill . Si se establece, la creación solo se rellena con registros ingeridos después de la fecha y hora. backfill también debe establecerse en true . Esta propiedad espera un literal datetime; por ejemplo, effectiveDateTime=datetime(2019-05-01) . |
updateExtentsCreationTime | bool |
Solo es relevante cuando se usa backfill . Si se establece true en , la hora de creación de la extensión se asigna en función de la clave datetime group-by durante el proceso de reposición. Para obtener más información, consulte Reposición de una vista materializada. |
lookback | timespan |
Válido solo para arg_max //arg_min take_any vistas materializadas. Limita el período de tiempo en el que se esperan duplicados. Por ejemplo, si se especifica una búsqueda de 6 horas en una arg_max vista, la desduplicación entre los registros recién ingeridos y los existentes tendrá en cuenta solo los registros ingeridos hace hasta 6 horas. Lookback es relativo a ingestion_time(). Si la consulta de vista materializada no conserva el ingestion_time() valor, no se puede definir lookback en la vista. Consulte limitaciones de vistas materializadas y problemas conocidos. Definir el período de búsqueda incorrectamente podría dar lugar a duplicados en la vista materializada. Por ejemplo, si se ingiere un registro para una clave específica 10 horas después de ingerir un registro para la misma clave y la búsqueda se establece en 6 horas, esa clave será un duplicado en la vista. El período de búsqueda se aplica durante el tiempo de materialización y el tiempo de consulta. |
autoUpdateSchema | bool |
Si se va a actualizar automáticamente la vista en los cambios de la tabla de origen. El valor predeterminado es false . Esta opción solo es válida para las vistas de tipo arg_max(Timestamp, *) //arg_min(Timestamp, *) take_any(*) (solo cuando el argumento de la columna es ).* Si esta opción se establece true en , los cambios realizados en la tabla de origen se reflejarán automáticamente en la vista materializada. |
dimensionTables | array | Argumento dinámico que incluye una matriz de tablas de dimensiones en la vista. Consulte Parámetro de consulta. |
folder | string |
Carpeta de la vista materializada. |
docString | string |
Cadena que documenta la vista materializada. |
allowMaterializedViewsWithoutRowLevelSecurity | bool |
Permite crear una vista materializada sobre una tabla con la directiva de seguridad de nivel de fila habilitada. |
Tabla existente
Si la tabla ya existe, solo se admite el siguiente subconjunto de propiedades en propertyName with(
=
PropertyValue . )
Todas las propiedades son opcionales.
Nombre | Escribir | Descripción |
---|---|---|
lookback | timespan |
Válido solo para arg_max //arg_min take_any vistas materializadas. Limita el período de tiempo en el que se esperan duplicados. Por ejemplo, si se especifica una búsqueda de 6 horas en una arg_max vista, la desduplicación entre los registros recién ingeridos y los existentes tendrá en cuenta solo los registros ingeridos hace hasta 6 horas. Lookback es relativo a ingestion_time . Definir el período de búsqueda incorrectamente podría dar lugar a duplicados en la vista materializada. Por ejemplo, si se ingiere un registro para una clave específica 10 horas después de ingerir un registro para la misma clave y la búsqueda se establece en 6 horas, esa clave será un duplicado en la vista. El período de búsqueda se aplica durante el tiempo de materialización y el tiempo de consulta. |
autoUpdateSchema | bool |
Si se va a actualizar automáticamente la vista en los cambios de la tabla de origen. El valor predeterminado es false . Esta opción solo es válida para las vistas de tipo arg_max(Timestamp, *) //arg_min(Timestamp, *) take_any(*) (solo cuando el argumento de la columna es ).* Si esta opción se establece true en , los cambios realizados en la tabla de origen se reflejarán automáticamente en la vista materializada. |
dimensionTables | array | Argumento dinámico que incluye una matriz de tablas de dimensiones en la vista. Consulte Parámetro de consulta. |
folder | string |
Carpeta de la vista materializada. |
docString | string |
Cadena que documenta la vista materializada. |
Devoluciones
Esquema de salida:
Nombre | Escribir | Descripción |
---|---|---|
Nombre | string |
Nombre de la vista materializada. |
SourceTable | string |
Nombre de la tabla de origen en la que se define la vista. |
Consulta | string |
Definición de consulta de la vista materializada. |
MaterializedTo | datetime |
Marca de tiempo máxima materializada ingestion_time() en la tabla de origen. Para obtener más información, vea cómo funcionan las vistas materializadas. |
LastRun | datetime |
Última vez que se ejecutó la materialización. |
LastRunResult | string |
Resultado de la última ejecución. Devuelve para ejecuciones Completed correctas; de lo contrario Failed , . |
IsHealthy | bool |
true cuando la vista se considera correcta; de lo contrario, false . La vista se considera correcta si se materializó correctamente hasta la última hora (MaterializedTo es mayor que ago(1h) ). |
IsEnabled | bool |
true cuando la vista está habilitada (consulte Deshabilitar o habilitar la vista materializada). |
Carpeta | string |
Carpeta en la que se crea la vista materializada. |
DocString | string |
Descripción asignada a la vista materializada. |
AutoUpdateSchema | bool |
Indica si la vista está habilitada para las actualizaciones automáticas. |
EffectiveDateTime | datetime |
Fecha efectiva de la vista, determinada durante la hora de creación (consulte .create materialized-view ). |
Retrospectiva | timespan |
Intervalo de tiempo que limita el período de tiempo en el que se esperan duplicados. |
Ejemplos
Crear o modificar una vista materializada
El siguiente comando crea una nueva o modifica una vista materializada existente denominada ArgMax:
.create-or-alter materialized-view ArgMax on table T
{
T | summarize arg_max(Timestamp, *) by User
}
Salida
Nombre | SourceTable | Consulta | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Carpeta | DocString | AutoUpdateSchema | EffectiveDateTime | Retrospectiva |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ArgMax | T | T | summarize arg_max(Timestamp, *) by User | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Completado | true | true | false | 2023-02-23T14:01:42.5172342Z |
Comentarios
Si la vista materializada no existe, este comando se comporta igual que .create materialized-view.
Para obtener más información, consulte las secciones Parámetro de consulta y Propiedades .
Limitaciones
Cambios no admitidos:
- Cambios en el grupo de vistas materializado por expresiones.
- Cambiar el tipo de columna.
- Cambio de nombre de las columnas. Por ejemplo, modificar una vista de
T | summarize count() by Id
para quitar columnacount_
y crea una nueva columnaCount
, que inicialmente soloT | summarize Count=count() by Id
contiene valores NULL.
Impacto en los datos existentes:
- La modificación de la vista materializada no afecta a los datos existentes.
- Agregar filtros a la consulta solo se aplica a los registros recién ingeridos y no cambia los registros que ya se han materializado.
- Las nuevas columnas reciben valores NULL para todos los registros existentes hasta que los registros ingeridos después del comando alter modifican los valores NULL.
- Por ejemplo: se modifica una vista de
T | summarize count() by bin(Timestamp, 1d)
aT | summarize count(), sum(Value) by bin(Timestamp, 1d)
. Para un determinado para elTimestamp=T
que los registros ya se han procesado antes de modificar la vista, lasum
columna contiene datos parciales. Esta vista solo incluye registros procesados después de la modificación de la ejecución.