Package

io.epiphanous.flinkrunner

operator

Permalink

package operator

Visibility
  1. Public
  2. All

Type Members

  1. abstract class AddToJdbcBatchFunction[E <: FlinkEvent] extends AnyRef

    Permalink
  2. class BloomFilterAggregateFunction extends RichAggregateFunction[CharSequence, StableBloomFilter[CharSequence], StableBloomFilter[CharSequence]]

    Permalink
  3. abstract class EnrichmentAsyncFunction[IN, OUT, CV <: AnyRef] extends AsyncFunction[IN, OUT] with LazyLogging

    Permalink

    An abstract asynchronous function to enrich a data stream with non-stream data.

    An abstract asynchronous function to enrich a data stream with non-stream data. This class relies on guava's CacheBuilder to load and cache the enrichment data. The default cache loader assumes the cache key is a uri of a json api endpoint which it loads asynchronously and converts to the cache value type (CV). You can provide your own cache loader to load enrichment data in some other way. If you use the default loader, note you must implicitly provide a circe EntityDecoder to convert the json api result body to the cache value type.

    The behavior of the function can be parameterized with flink config values for

    • $configPrefix.num.threads (size of thread pool, Int)
    • $configPrefix.cache.concurrency.level (Int)
    • $configPrefix.cache.max.size (max number of records in cache, Int)
    • $configPrefix.cache.expire.after (Duration)

    The cache always uses weak keys, allowing for aggressive garbage collection of unused values.

    Subclasses must implement the getCacheKey() and enrichEvent() methods.

    IN

    the input stream element type

    OUT

    the enriched stream output element type

    CV

    the cache value type

Ungrouped