Class RecordPLL


  • public class RecordPLL
    extends PLL<Tuple2<Long,​Record>>
    A PLL of records efficiently computed from the underlying PLL of rows.
    Author:
    Antonin Delpeuch
    • Field Detail

      • keyColumnIndex

        protected final int keyColumnIndex
    • Constructor Detail

      • RecordPLL

        public RecordPLL​(PairPLL<Long,​IndexedRow> grid,
                         int keyColumnIndex)
        Constructs a PLL of records by grouping rows together. Any partitioner on the parent PLL can be used to partition this resulting PLL.
        Parameters:
        grid - the PLL of rows
        keyColumnIndex - the index of the column used as record key
    • Method Detail

      • groupIntoRecords

        public static PairPLL<Long,​Record> groupIntoRecords​(PairPLL<Long,​IndexedRow> grid,
                                                                  int keyColumnIndex)
        Constructs an indexed PLL of records by grouping rows together. Any partitioner on the parent PLL will be used on the resulting pair PLL.
        Parameters:
        grid - the PLL of rows
        keyColumnIndex - the index of the column used as record key
      • compute

        protected CloseableIterator<Tuple2<Long,​Record>> compute​(Partition partition)
        Description copied from class: PLL
        Iterate over the elements of the given partition. This is the method that should be implemented by subclasses. As this method forces computation, ignoring any caching, consumers should not call it directly but rather use PLL.iterate(Partition). Once the iterator is not needed anymore, it should be closed. This makes it possible to release the underlying resources supporting it, such as open files or sockets.
        Specified by:
        compute in class PLL<Tuple2<Long,​Record>>
        Parameters:
        partition - the partition to iterate over
        Returns:
      • getParents

        public List<PLL<?>> getParents()
        Description copied from class: PLL
        Returns the PLLs that this PLL depends on, to compute its contents. This is used for debugging purposes, to display the tree of dependencies of a given PLL.
        Specified by:
        getParents in class PLL<Tuple2<Long,​Record>>
        See Also:
        PLL.getQueryTree()