Search in sources :

Example 1 with Logger

use of com.hazelcast.logging.Logger in project hazelcast by hazelcast.

the class ReadFilesP method init.

@Override
protected void init(@Nonnull Context context) {
    ILogger logger = context.logger();
    int processorIndex = sharedFileSystem ? context.globalProcessorIndex() : context.localProcessorIndex();
    int parallelism = sharedFileSystem ? context.totalParallelism() : context.localParallelism();
    traverser = new LocalFileTraverser<>(logger, directory, glob, ignoreFileNotFound, path -> shouldProcessEvent(path, parallelism, processorIndex), readFileFn);
}
Also used : Address(com.hazelcast.cluster.Address) AbstractProcessor(com.hazelcast.jet.core.AbstractProcessor) Traverser(com.hazelcast.jet.Traverser) Util.checkSerializable(com.hazelcast.jet.impl.util.Util.checkSerializable) SourceProcessors(com.hazelcast.jet.core.processor.SourceProcessors) Traversers.traverseStream(com.hazelcast.jet.Traversers.traverseStream) ACTION_READ(com.hazelcast.security.permission.ActionConstants.ACTION_READ) Function(java.util.function.Function) JetException(com.hazelcast.jet.JetException) DirectoryStream(java.nio.file.DirectoryStream) ILogger(com.hazelcast.logging.ILogger) Traversers.traverseIterator(com.hazelcast.jet.Traversers.traverseIterator) Nonnull(javax.annotation.Nonnull) Path(java.nio.file.Path) ProcessorSupplier(com.hazelcast.jet.core.ProcessorSupplier) FunctionEx(com.hazelcast.function.FunctionEx) Logger(com.hazelcast.logging.Logger) Iterator(java.util.Iterator) Files(java.nio.file.Files) Predicate(java.util.function.Predicate) ProcessorMetaSupplier(com.hazelcast.jet.core.ProcessorMetaSupplier) ConnectorPermission(com.hazelcast.security.permission.ConnectorPermission) IOException(java.io.IOException) FileProcessorMetaSupplier(com.hazelcast.jet.pipeline.file.impl.FileProcessorMetaSupplier) File(java.io.File) List(java.util.List) Stream(java.util.stream.Stream) Paths(java.nio.file.Paths) Permission(java.security.Permission) Util.uncheckCall(com.hazelcast.jet.impl.util.Util.uncheckCall) FileTraverser(com.hazelcast.jet.pipeline.file.impl.FileTraverser) ILogger(com.hazelcast.logging.ILogger)

Example 2 with Logger

use of com.hazelcast.logging.Logger in project hazelcast by hazelcast.

the class Planner method createDag.

@SuppressWarnings("rawtypes")
DAG createDag(Context context) {
    pipeline.makeNamesUnique();
    Map<Transform, List<Transform>> adjacencyMap = pipeline.adjacencyMap();
    validateNoLeakage(adjacencyMap);
    checkTopologicalSort(adjacencyMap.entrySet());
    // Find the greatest common denominator of all frame lengths
    // appearing in the pipeline
    long frameSizeGcd = Util.gcd(adjacencyMap.keySet().stream().map(Transform::preferredWatermarkStride).filter(frameSize -> frameSize > 0).mapToLong(i -> i).toArray());
    if (frameSizeGcd == 0) {
        // even if there are no window aggregations, we want the watermarks for latency debugging
        frameSizeGcd = MAXIMUM_WATERMARK_GAP;
    }
    if (frameSizeGcd > MAXIMUM_WATERMARK_GAP) {
        frameSizeGcd = Util.gcd(frameSizeGcd, MAXIMUM_WATERMARK_GAP);
    }
    LoggingUtil.logFine(LOGGER, "Watermarks in the pipeline will be throttled to %d", frameSizeGcd);
    // Update watermark throttling frame length on all transforms with the determined length
    for (Transform transform : adjacencyMap.keySet()) {
        if (transform instanceof StreamSourceTransform) {
            StreamSourceTransform t = (StreamSourceTransform) transform;
            EventTimePolicy policy = t.getEventTimePolicy();
            if (policy != null) {
                t.setEventTimePolicy(withFrameSize(policy, frameSizeGcd));
            }
        } else if (transform instanceof TimestampTransform) {
            TimestampTransform t = (TimestampTransform) transform;
            t.setEventTimePolicy(withFrameSize(t.getEventTimePolicy(), frameSizeGcd));
        }
    }
    // fuse subsequent map/filter/flatMap transforms into one
    Map<Transform, List<Transform>> originalParents = new HashMap<>();
    List<Transform> transforms = new ArrayList<>(adjacencyMap.keySet());
    for (int i = 0; i < transforms.size(); i++) {
        Transform transform = transforms.get(i);
        List<Transform> chain = findFusableChain(transform, adjacencyMap);
        if (chain == null) {
            continue;
        }
        // remove transforms in the chain and replace the parent with a fused transform
        transforms.removeAll(chain.subList(1, chain.size()));
        Transform fused = fuseFlatMapTransforms(chain);
        transforms.set(i, fused);
        Transform lastInChain = chain.get(chain.size() - 1);
        for (Transform downstream : adjacencyMap.get(lastInChain)) {
            originalParents.put(downstream, new ArrayList<>(downstream.upstream()));
            downstream.upstream().replaceAll(p -> p == lastInChain ? fused : p);
        }
    }
    for (Transform transform : transforms) {
        transform.addToDag(this, context);
    }
    // restore original parents
    for (Entry<Transform, List<Transform>> en : originalParents.entrySet()) {
        List<Transform> upstream = en.getKey().upstream();
        for (int i = 0; i < upstream.size(); i++) {
            en.getKey().upstream().set(i, en.getValue().get(i));
        }
    }
    return dag;
}
Also used : Traverser(com.hazelcast.jet.Traverser) LoggingUtil(com.hazelcast.jet.impl.util.LoggingUtil) Processor(com.hazelcast.jet.core.Processor) HashMap(java.util.HashMap) ObjIntConsumer(java.util.function.ObjIntConsumer) EventTimePolicy(com.hazelcast.jet.core.EventTimePolicy) ArrayList(java.util.ArrayList) SinkTransform(com.hazelcast.jet.impl.pipeline.transform.SinkTransform) TopologicalSorter.checkTopologicalSort(com.hazelcast.jet.impl.TopologicalSorter.checkTopologicalSort) ILogger(com.hazelcast.logging.ILogger) Map(java.util.Map) MapTransform(com.hazelcast.jet.impl.pipeline.transform.MapTransform) TimestampTransform(com.hazelcast.jet.impl.pipeline.transform.TimestampTransform) Edge.from(com.hazelcast.jet.core.Edge.from) DAG(com.hazelcast.jet.core.DAG) Edge(com.hazelcast.jet.core.Edge) Nonnull(javax.annotation.Nonnull) ProcessorSupplier(com.hazelcast.jet.core.ProcessorSupplier) FunctionEx(com.hazelcast.function.FunctionEx) Logger(com.hazelcast.logging.Logger) Util.toList(com.hazelcast.jet.impl.util.Util.toList) ProcessorMetaSupplier(com.hazelcast.jet.core.ProcessorMetaSupplier) Traversers(com.hazelcast.jet.Traversers) Collectors(java.util.stream.Collectors) SupplierEx(com.hazelcast.function.SupplierEx) Transform(com.hazelcast.jet.impl.pipeline.transform.Transform) Consumer(java.util.function.Consumer) Vertex(com.hazelcast.jet.core.Vertex) Util(com.hazelcast.jet.impl.util.Util) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) Entry(java.util.Map.Entry) StreamSourceTransform(com.hazelcast.jet.impl.pipeline.transform.StreamSourceTransform) EventTimePolicy.eventTimePolicy(com.hazelcast.jet.core.EventTimePolicy.eventTimePolicy) FlatMapTransform(com.hazelcast.jet.impl.pipeline.transform.FlatMapTransform) Context(com.hazelcast.jet.impl.pipeline.PipelineImpl.Context) EventTimePolicy(com.hazelcast.jet.core.EventTimePolicy) HashMap(java.util.HashMap) StreamSourceTransform(com.hazelcast.jet.impl.pipeline.transform.StreamSourceTransform) ArrayList(java.util.ArrayList) TimestampTransform(com.hazelcast.jet.impl.pipeline.transform.TimestampTransform) ArrayList(java.util.ArrayList) Util.toList(com.hazelcast.jet.impl.util.Util.toList) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) SinkTransform(com.hazelcast.jet.impl.pipeline.transform.SinkTransform) MapTransform(com.hazelcast.jet.impl.pipeline.transform.MapTransform) TimestampTransform(com.hazelcast.jet.impl.pipeline.transform.TimestampTransform) Transform(com.hazelcast.jet.impl.pipeline.transform.Transform) StreamSourceTransform(com.hazelcast.jet.impl.pipeline.transform.StreamSourceTransform) FlatMapTransform(com.hazelcast.jet.impl.pipeline.transform.FlatMapTransform)

Aggregations

FunctionEx (com.hazelcast.function.FunctionEx)2 Traverser (com.hazelcast.jet.Traverser)2 ProcessorMetaSupplier (com.hazelcast.jet.core.ProcessorMetaSupplier)2 ProcessorSupplier (com.hazelcast.jet.core.ProcessorSupplier)2 ILogger (com.hazelcast.logging.ILogger)2 Logger (com.hazelcast.logging.Logger)2 List (java.util.List)2 Nonnull (javax.annotation.Nonnull)2 Address (com.hazelcast.cluster.Address)1 SupplierEx (com.hazelcast.function.SupplierEx)1 JetException (com.hazelcast.jet.JetException)1 Traversers (com.hazelcast.jet.Traversers)1 Traversers.traverseIterator (com.hazelcast.jet.Traversers.traverseIterator)1 Traversers.traverseStream (com.hazelcast.jet.Traversers.traverseStream)1 AbstractProcessor (com.hazelcast.jet.core.AbstractProcessor)1 DAG (com.hazelcast.jet.core.DAG)1 Edge (com.hazelcast.jet.core.Edge)1 Edge.from (com.hazelcast.jet.core.Edge.from)1 EventTimePolicy (com.hazelcast.jet.core.EventTimePolicy)1 EventTimePolicy.eventTimePolicy (com.hazelcast.jet.core.EventTimePolicy.eventTimePolicy)1