Created 03-07-2019 04:42 PM
How we can copy recursive jar files from HDFS ( jar files are under sub folders ) to local folder?
Example
export hdfs_folder=/app/lib export local_folder=/home/work_appwhile under /app/lib we have the following sub folder with the jar files
as
/app/lib/folder_jar1
/app/lib/folder_jar2Under each of above folder we have jar files
The following command , will copy only the jar files under /app/lib
but not the Jar files under the sub folders as /app/lib/folder_jar1 , /app/lib/folder_jar2 , Etc
hadoop fs -copyToLocal $hdfs_folder/*.jar $local_folderCreated 03-08-2019 08:46 AM
You are specifying /folder/*.jar. If you want the .jar files from one level deeper, you would specify /folder/*/*.jar.
Or, here is an alternative example.
[hdfs@c2175-node4 stuff]$ hdfs dfs -find /tmp -name *.jar /tmp/somefolder/y.jar /tmp/x.jar [hdfs@c2175-node4 stuff]$ for result in `hdfs dfs -find /tmp -name *.jar` ; do hdfs dfs -copyToLocal $result; done [hdfs@c2175-node4 stuff]$ ls -al -rw-r--r-- 1 hdfs hadoop 0 Mar 8 08:43 x.jar -rw-r--r-- 1 hdfs hadoop 0 Mar 8 08:43 y.j
Created 03-08-2019 08:46 AM
You are specifying /folder/*.jar. If you want the .jar files from one level deeper, you would specify /folder/*/*.jar.
Or, here is an alternative example.
[hdfs@c2175-node4 stuff]$ hdfs dfs -find /tmp -name *.jar /tmp/somefolder/y.jar /tmp/x.jar [hdfs@c2175-node4 stuff]$ for result in `hdfs dfs -find /tmp -name *.jar` ; do hdfs dfs -copyToLocal $result; done [hdfs@c2175-node4 stuff]$ ls -al -rw-r--r-- 1 hdfs hadoop 0 Mar 8 08:43 x.jar -rw-r--r-- 1 hdfs hadoop 0 Mar 8 08:43 y.j