Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Thanks to Dave Marion for HDFS example and testing.

...

All examples expect to be started from within the Apache Commons VFS source directory (refering to build artifacts as well as external dependencies in a local maven repository). Linux/Unix commands are marked with {{$ }} prompt, for sample Windows command you see a {{C:vfs> }} prompt. Commands entered into the VFS Example Shell are marked with the {{> }} prompt.

Enabling the SMB provider from the sandbox:

...

No Format
C:vfs> set LIBS=%REP%\commons-logging\commons-logging\1.2\commons-logging-1.2.jar
C:vfs> set LIBS=%LIBS%;%REP%\org\apache\commons\httpclient;%REP%\commons-httpclient\commons-httpclient\3.1\commons-httpclient-3.1.jar
C:vfs> set LIBS=%LIBS%;%REP%\commons-codec\commons-codec\1.2\commons-codec-1.2.jar
C:vfs> set LIBS=%LIBS%;core\target\commons-vfs2-2.1.jar;examples/target/commons-vfs2-examples-2.1.jar
C:vfs> java -cp $LIBS org.apache.commons.vfs2.example.Shell
VFS Shell 2.1
> cat https://www.apache.org/robots.txt
User-agent: *
Disallow: /websrc
Crawl-Delay: 4

The following example describes how to set up a file in HDFS and how to access it with the VFS Example Shell:

No Format

$ HADOOP_HOME=/home/user/hadoop-2.6.0 
$ HADOOP_CLASSPATH=`$HADOOP_HOME/bin/hadoop classpath` 
$ $HADOOP_HOME/bin/hadoop fs -mkdir /vfs-test 
$ $HADOOP_HOME/bin/hadoop fs -copyFromLocal /tmp/test.txt /vfs-test/text.txt 
$ $HADOOP_HOME/bin/hadoop fs -ls -R / 
drwxr-xr-x - user supergroup  0 2015-01-09 21:56 /vfs-test 
-rw-r--r-- 3 user supergroup 15 2015-01-09 21:56 /vfs-test/text.txt 

$ REP=~/.m2/repository 
$ LIBS=$REP/commons-logging/commons-logging/1.2/commons-logging-1.2.jar 
$ LIBS=$LIBS:core/target/commons-vfs2-2.1-SNAPSHOT.jar:examples/target/commons-vfs2-examples-2.1-SNAPSHOT.jar
$ java -cp $LIBS:$HADOOP_CLASSPATH org.apache.commons.vfs2.example.Shell 
15/01/09 22:01:44 INFO impl.StandardFileSystemManager: Using "/tmp/vfs_cache" as temporary files store. 
VFS Shell 2.1-SNAPSHOT 
> info   
Default manager: "org.apache.commons.vfs2.impl.StandardFileSystemManager" version 2.1-SNAPSHOT 
Provider Schemes: [https, res, gz, hdfs, sftp, ftps, ram, http, file, ftp, tmp, bz2] 
Virtual Schemes: [zip, war, par, ear, jar, sar, ejb3, tar, tbz2, tgz] 
> info hdfs   
Provider Info for scheme "hdfs": 
capabilities: [GET_TYPE, READ_CONTENT, URI, GET_LAST_MODIFIED, ATTRIBUTES, RANDOM_ACCESS_READ, DIRECTORY_READ_CONTENT, LIST_CHILDREN] 
> ls hdfs://server:8020/vfs-test/   
15/01/09 22:02:06 INFO Configuration.deprecation: fs.default.name is deprecated. Instead, use fs.defaultFS 
15/01/09 22:02:06 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
Contents of hdfs://server:8020/vfs-test 
text.txt 
> cat hdfs://server:8020/vfs-test/text.txt
This is a test