Module pygw.statistics.field.hyper_log_log_statistic

Source code
#
# Copyright (c) 2013-2022 Contributors to the Eclipse Foundation

#
# See the NOTICE file distributed with this work for additional information regarding copyright
# ownership. All rights reserved. This program and the accompanying materials are made available
# under the terms of the Apache License, Version 2.0 which accompanies this distribution and is
# available at http://www.apache.org/licenses/LICENSE-2.0.txt
# ===============================================================================================
from pygw.config import geowave_pkg
from ..statistic import FieldStatistic
from ..statistic_type import FieldStatisticType
from ...base import GeoWaveObject
from ...base.java_transformer import JavaTransformer


class HyperLogLogStatistic(FieldStatistic):
    """
    Provides an estimated cardinality of the number of unique values for an attribute.
    """
    STATS_TYPE = FieldStatisticType(geowave_pkg.core.store.statistics.field.HyperLogLogStatistic.STATS_TYPE)

    def __init__(self, type_name=None, field_name=None, precision=16, java_ref=None):
        if java_ref is None:
            if type_name is None and field_name is None:
                java_ref = geowave_pkg.core.store.statistics.field.HyperLogLogStatistic()
            else:
                java_ref = geowave_pkg.core.store.statistics.field.HyperLogLogStatistic(type_name, field_name, precision)
        super().__init__(java_ref, HyperLogLogTransformer())

    def set_precision(self, precision):
        self._java_ref.setPrecision(precision)

    def get_precision(self):
        return self._java_ref.getPrecision()


class HyperLogLogTransformer(JavaTransformer):
    def transform(self, j_object):
        return HyperLogLogPlus(j_object)


class HyperLogLogPlus(GeoWaveObject):
    def cardinality(self):
        return self._java_ref.cardinality()

Classes

class HyperLogLogPlus (java_ref)

Base Class for pygw objects that wrap Java objects.

Source code
class HyperLogLogPlus(GeoWaveObject):
    def cardinality(self):
        return self._java_ref.cardinality()

Ancestors

Methods

def cardinality(self)
Source code
def cardinality(self):
    return self._java_ref.cardinality()

Inherited members

class HyperLogLogStatistic (type_name=None, field_name=None, precision=16, java_ref=None)

Provides an estimated cardinality of the number of unique values for an attribute.

Source code
class HyperLogLogStatistic(FieldStatistic):
    """
    Provides an estimated cardinality of the number of unique values for an attribute.
    """
    STATS_TYPE = FieldStatisticType(geowave_pkg.core.store.statistics.field.HyperLogLogStatistic.STATS_TYPE)

    def __init__(self, type_name=None, field_name=None, precision=16, java_ref=None):
        if java_ref is None:
            if type_name is None and field_name is None:
                java_ref = geowave_pkg.core.store.statistics.field.HyperLogLogStatistic()
            else:
                java_ref = geowave_pkg.core.store.statistics.field.HyperLogLogStatistic(type_name, field_name, precision)
        super().__init__(java_ref, HyperLogLogTransformer())

    def set_precision(self, precision):
        self._java_ref.setPrecision(precision)

    def get_precision(self):
        return self._java_ref.getPrecision()

Ancestors

Class variables

var STATS_TYPE

Methods

def get_precision(self)
Source code
def get_precision(self):
    return self._java_ref.getPrecision()
def set_precision(self, precision)
Source code
def set_precision(self, precision):
    self._java_ref.setPrecision(precision)

Inherited members

class HyperLogLogTransformer (*args, **kwargs)

Base class for transforming Java objects to an appropriate Python counterpart. All extending classes should overwrite the transform method to perform the transformation.

Source code
class HyperLogLogTransformer(JavaTransformer):
    def transform(self, j_object):
        return HyperLogLogPlus(j_object)

Ancestors

Inherited members