[ 
https://issues.apache.org/jira/browse/APEXMALHAR-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15419013#comment-15419013
 ] 

ASF GitHub Bot commented on APEXMALHAR-2184:
--------------------------------------------

Github user amberarrow commented on a diff in the pull request:

    https://github.com/apache/apex-malhar/pull/368#discussion_r74611442
  
    --- Diff: docs/operators/fsInputOperator.md ---
    @@ -0,0 +1,101 @@
    +File Input Operator
    +=============
    +
    +## Operator Objective
    +This operator scans a directory for files. Files are then read and split 
into tuples, which are emitted. The default implementation scans a single 
directory. The operator is fault tolerant. It tracks previously read files and 
current offset as part of checkpoint state. In case of failure the operator 
will skip files that were already processed and fast forward to the offset of 
the current file. Supports partitioning and changes to number of partitions. 
The directory scanner is responsible to only accept the files that belong to a 
partition.
    +
    +File Input Operator is **idempotent**, **fault-tolerant** and 
**partitionable**.
    +
    +## Operator Usecase
    +1. Read all files of a directory and then keep scanning it for newly added 
files.
    +
    +## Operator Information
    +1. Operator location: ***malhar-library***
    +2. Available since: ***1.0.2***
    +3. Operator state: ***Stable***
    +3. Java Packages:
    +    * Operator: 
***[com.datatorrent.lib.io.fs.AbstractFileInputOperator](https://www.datatorrent.com/docs/apidocs/com/datatorrent/lib/io/fs/AbstractFileInputOperator.html)***
    +
    +### AbstractFileInputOperator
    +This is the abstract implementation that serves as base class for scanning 
a directory for files and read the files one by one. This class doesn’t have 
any ports.
    --- End diff --
    
    Add an overview here of what the operator does here, what parts need to be 
implemented by concrete subclasses and show code fragments for example from the 
LineByLine operator. Describe what the DirectoryScanner does. Some obvious 
questions that will come up in the reader's mind should be answered, for 
example:
    1. What happens if a file that has already been processed has new data 
appended to it ?
    2. What happens if a processed file is deleted ?
    3. What happens if a separate actor is in the process of writing a new file 
in the monitored directory ? How will this operator know when the file is ready 
to be read ?
    4. What if the number of files in the scanned directory grows over time to 
be very large -- what impact, if any, does it have on this operator ?
    5. Can this operator be used to monitor multiple directories ? (Point 
people to the fileIO-multidir example)
    6. This class already implements the Partitioner interface; can a custom 
partitioner be set on this operator ? More generally, since we are saying this 
operator supports dynamic partitioning, it is useful to describe (with a code 
fragment if possible) how to trigger it.



> Add documentation for FileSystem Input Operator
> -----------------------------------------------
>
>                 Key: APEXMALHAR-2184
>                 URL: https://issues.apache.org/jira/browse/APEXMALHAR-2184
>             Project: Apache Apex Malhar
>          Issue Type: Documentation
>            Reporter: Priyanka Gugale
>            Assignee: Priyanka Gugale
>            Priority: Minor
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to