private void load ( AlluxioURI filePath , boolean local ) throws AlluxioException , IOException { URIStatus status = mFileSystem . getStatus ( filePath ) ; if ( status . isFolder ( ) ) { List < URIStatus > statuses = mFileSystem . listStatus ( filePath ) ; for ( URIStatus uriStatus : statuses ) { AlluxioURI newPath = new AlluxioURI ( uriStatus . getPath ( ) ) ; load ( newPath , local ) ; } } else { OpenFilePOptions options = OpenFilePOptions . newBuilder ( ) . setReadType ( ReadPType . CACHE_PROMOTE ) . build ( ) ; if ( local ) { if ( ! mFsContext . hasLocalWorker ( ) ) { System . out . println ( "When local option is specified," + " there must be a local worker available" ) ; return ; } } else if ( status . getInAlluxioPercentage ( ) == 100 ) { // The file has already been fully loaded into Alluxio. System . out . println ( filePath + " already in Alluxio fully" ) ; return ; } Closer closer = Closer . create ( ) ; try { FileInStream in = closer . register ( mFileSystem . openFile ( filePath , options ) ) ; byte [ ] buf = new byte [ 8 * Constants . MB ] ; while ( in . read ( buf ) != - 1 ) { } } catch ( Exception e ) { throw closer . rethrow ( e ) ; } finally { closer . close ( ) ; } } System . out . println ( filePath + " loaded" ) ; }
Loads a file or directory in Alluxio space makes it resident in Alluxio .