hadoopfs.thrift
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:4k
- #!/usr/local/bin/thrift -java
- #
- # Thrift Service exported by Hadoop File System
- # Dhruba Borthakur (dhruba@gmail.com)
- #
- /**
- * The available types in Thrift:
- *
- * bool Boolean, one byte
- * byte Signed byte
- * i16 Signed 16-bit integer
- * i32 Signed 32-bit integer
- * i64 Signed 64-bit integer
- * double 64-bit floating point value
- * string String
- * map<t1,t2> Map from one type to another
- * list<t1> Ordered list of one type
- * set<t1> Set of unique elements of one type
- *
- */
- namespace java org.apache.hadoop.thriftfs.api
- namespace php hadoopfs
- struct ThriftHandle {
- i64 id
- }
- struct Pathname {
- string pathname
- }
- struct FileStatus {
- 1: string path,
- 2: i64 length,
- 3: bool isdir,
- 4: i16 block_replication,
- 5: i64 blocksize,
- 6: i64 modification_time,
- 7: string permission,
- 8: string owner,
- 9: string group
- }
- struct BlockLocation {
- 1: list<string> hosts, /* hostnames of datanodes */
- 2: list<string> names, /* hostname:portNumber of datanodes */
- 3: i64 offset, /* offset of the block in the file */
- 4: i64 length /* length of data */
- }
- exception MalformedInputException {
- string message
- }
- exception ThriftIOException {
- string message
- }
- service ThriftHadoopFileSystem
- {
- // set inactivity timeout period. The period is specified in seconds.
- // if there are no RPC calls to the HadoopThrift server for this much
- // time, then the server kills itself.
- void setInactivityTimeoutPeriod(1:i64 periodInSeconds),
- // close session
- void shutdown(1:i32 status),
- // create a file and open it for writing
- ThriftHandle create(1:Pathname path) throws (1:ThriftIOException ouch),
- // create a file and open it for writing
- ThriftHandle createFile(1:Pathname path, 2:i16 mode,
- 3:bool overwrite, 4:i32 bufferSize,
- 5:i16 block_replication, 6:i64 blocksize)
- throws (1:ThriftIOException ouch),
- // returns a handle to an existing file for reading
- ThriftHandle open(1:Pathname path) throws (1:ThriftIOException ouch),
- // returns a handle to an existing file for appending to it.
- ThriftHandle append(1:Pathname path) throws (1:ThriftIOException ouch),
- // write a string to the open handle for the file
- bool write(1:ThriftHandle handle, string data) throws (1:ThriftIOException ouch),
- // read some bytes from the open handle for the file
- string read(1:ThriftHandle handle, i64 offset, i32 size) throws (1:ThriftIOException ouch),
- // close file
- bool close(1:ThriftHandle out) throws (1:ThriftIOException ouch),
- // delete file(s) or directory(s)
- bool rm(1:Pathname path, 2:bool recursive) throws (1:ThriftIOException ouch),
- // rename file(s) or directory(s)
- bool rename(1:Pathname path, 2:Pathname dest) throws (1:ThriftIOException ouch),
- // create directory
- bool mkdirs(1:Pathname path) throws (1:ThriftIOException ouch),
- // Does this pathname exist?
- bool exists(1:Pathname path) throws (1:ThriftIOException ouch),
- // Returns status about the path
- FileStatus stat(1:Pathname path) throws (1:ThriftIOException ouch),
- // If the path is a directory, then returns the list of pathnames in that directory
- list<FileStatus> listStatus(1:Pathname path) throws (1:ThriftIOException ouch),
- // Set permission for this file
- void chmod(1:Pathname path, 2:i16 mode) throws (1:ThriftIOException ouch),
- // set the owner and group of the file.
- void chown(1:Pathname path, 2:string owner, 3:string group) throws (1:ThriftIOException ouch),
- // set the replication factor for all blocks of the specified file
- void setReplication(1:Pathname path, 2:i16 replication) throws (1:ThriftIOException ouch),
- // get the locations of the blocks of this file
- list<BlockLocation> getFileBlockLocations(1:Pathname path, 2:i64 start, 3:i64 length) throws (1:ThriftIOException ouch),
- }