HDFS to HDFS line copy application
Ingest and backup hadoop HDFS data as lines from one cluster to another in a fault tolerant way. This application reads lines from the configured source path and writes them to the destination file path. The source code is available at: https://github.com/DataTorrent/app-templates/tree/master/hdfs-line-copy.
Please send feedback or feature requests to: firstname.lastname@example.org
This document has a step-by-step guide to configure, customize, and launch this application.
Steps to launch application
Click on the AppHub tab from the top navigation bar.
Page listing the applications available on AppHub is displayed. Search for HDFS to see all applications related to HDFS.
Click on import button for
HDFS to HDFS Line Copy App
Notification is displayed on the top right corner after application package is successfully imported.
Click on the link in the notification which navigates to the page for this application package.
Detailed information about the application package like version, last modified time, and short description is available on this page. Click on launch button for
HDFS line copyapplication.
Launch HDFS-line-copydialogue is displayed. One can configure name of this instance of the application after from this dialogue.
Use saved configurationoption. This displays list of pre-saved configurations. Please select
cluster-memory-conf.xmldepending on whether your environment is the DataTorrent sandbox, or other cluster.
Specify custom propertiesoption. Click on
add default propertiesbutton.
This expands a key-value editor pre-populated with mandatory properties for this application. Change values as needed.
For example, suppose we wish to process lines from all the files in
source-clusterand send the output to
destination-cluster. Properties should be set as follows:
name value dt.operator.fileOutput.prop.filePath hdfs://destination-cluster/user/appuser/output dt.operator.fileOutput.prop.outputFileName output.txt dt.operator.recordReader.prop.files hdfs://source-cluster/user/appuser/input
Details about configuration options are available in Configuration options section.
Launchbutton on bottom right corner to launch the application. Notification is displayed on the top right corner after application is launched successfully and includes the Application ID which can be used to monitor this instance and find its logs.
Click on the
Monitortab from the top navigation bar.
Page with listing of all running applications is displayed. Search for current application based on name or application id or any other relevant field. Click on the application name or id to navigate to application instance details page.
Application instance details page shows key metrics for monitoring the application status. The
logicaltab shows application DAG, Stram events, operator status based on logical operators, stream status, and a chart with key metrics.
Click on the
physicaltab to look at the status of physical instances of the operator, containers etc.
End user must specify the values for these properties (all properties are strings).
|HDFS path for input file or directory||
|Name of the output file. This name will be appended with suffix for each part.||output.txt|
|HDFS path for the output directory. Generally, this refers to path on the hadoop cluster on which app is running.||/user/appuser/output|
There are pre-saved configurations based on the application environment. Recommended settings for datatorrent sandbox edition are in
sandbox-memory-conf.xml and for a cluster environment in
|dt.operator.recordReader.prop.minReaders||Minimum number of BlockReader partitions for parallel reading.||int||1||1|
|dt.operator.recordReader.prop.maxReaders||Maximum number of BlockReader partitions for parallel reading.||int||16||1|
You can override default values for advanced properties by specifying custom values for these properties in the step specify custom property step mentioned in steps to launch an application.
Steps to customize the application
Make sure you have following utilities installed on your machine and available on
PATHin environment variables
Use following command to clone the examples repository:
git clone email@example.com:DataTorrent/app-templates.git
Change directory to
Import this maven project in your favorite IDE (e.g. eclipse).
Change the source code as per your requirements. Some tips are given as commented blocks in the
Application.javafor this project.
Make respective changes in the test case and
properties.xmlbased on your environment.
Compile this project using maven:
mvn clean package
This will generate the application package with the
.apaextension inside the
Go to DataTorrent UI Management console on web browser. Click on the
Developtab from the top navigation bar.
upload packagebutton and upload the generated
Application package page is shown with the listing of all packages. Click on the
Launchbutton for the uploaded application package. Follow the steps for launching an application.