Class DataViewUtils


  • @Internal
    public final class DataViewUtils
    extends Object
    Utilities to deal with DataViews.

    A DataView is either represented as a regular StructuredType or as a RawType that serializes to null when backed by a state backend. In the latter case, a DataViewSpec contains all information necessary to store and retrieve data from state.

    • Method Detail

      • extractDataViews

        public static List<DataViewSpec> extractDataViews​(int aggIndex,
                                                          DataType accumulatorDataType)
        Searches for data views in the data type of an accumulator and extracts them.
      • adjustDataViews

        public static DataType adjustDataViews​(DataType accumulatorDataType,
                                               boolean hasStateBackedDataViews)
        Modifies the data type of an accumulator regarding data views.

        For performance reasons, each data view is wrapped into a RAW type which gives it LazyBinaryFormat semantics and avoids multiple deserialization steps during access. Furthermore, a data view will not be serialized if a state backend is used (the serializer of the RAW type will be a NullSerializer in this case).

      • createDistinctViewDataType

        public static DataType createDistinctViewDataType​(DataType keyDataType,
                                                          int filterArgs,
                                                          int filterArgsLimit)
        Creates a special DataType for DISTINCT aggregates.