hadoopfs.thrift
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:4k
源码类别:

网格计算

开发平台:

Java

  1. #!/usr/local/bin/thrift -java
  2. #
  3. # Thrift Service exported by Hadoop File System
  4. # Dhruba Borthakur (dhruba@gmail.com)
  5. #
  6. /**
  7.  * The available types in Thrift:
  8.  *
  9.  *  bool        Boolean, one byte
  10.  *  byte        Signed byte
  11.  *  i16         Signed 16-bit integer
  12.  *  i32         Signed 32-bit integer
  13.  *  i64         Signed 64-bit integer
  14.  *  double      64-bit floating point value
  15.  *  string      String
  16.  *  map<t1,t2>  Map from one type to another
  17.  *  list<t1>    Ordered list of one type
  18.  *  set<t1>     Set of unique elements of one type
  19.  *
  20.  */
  21. namespace java org.apache.hadoop.thriftfs.api
  22. namespace php hadoopfs
  23. struct ThriftHandle {
  24.   i64 id
  25. }
  26. struct Pathname {
  27.   string pathname
  28. }
  29. struct FileStatus {
  30.   1: string path,
  31.   2: i64 length,
  32.   3: bool isdir,
  33.   4: i16 block_replication,
  34.   5: i64 blocksize,
  35.   6: i64 modification_time,
  36.   7: string permission,
  37.   8: string owner,
  38.   9: string group
  39. }
  40. struct BlockLocation {
  41.   1: list<string> hosts,         /* hostnames of datanodes */
  42.   2: list<string> names,         /* hostname:portNumber of datanodes */
  43.   3: i64 offset,                 /* offset of the block in the file */
  44.   4: i64 length                  /* length of data */
  45. }
  46. exception MalformedInputException {
  47.   string message
  48. }
  49. exception ThriftIOException {
  50.    string message
  51. }
  52. service ThriftHadoopFileSystem
  53. {
  54.   // set inactivity timeout period. The period is specified in seconds.
  55.   // if there are no RPC calls to the HadoopThrift server for this much
  56.   // time, then the server kills itself.
  57.   void setInactivityTimeoutPeriod(1:i64 periodInSeconds),
  58.   // close session
  59.   void shutdown(1:i32 status),
  60.   // create a file and open it for writing
  61.   ThriftHandle create(1:Pathname path) throws (1:ThriftIOException ouch),
  62.   // create a file and open it for writing
  63.   ThriftHandle createFile(1:Pathname path, 2:i16 mode, 
  64.                           3:bool overwrite, 4:i32 bufferSize, 
  65.                           5:i16 block_replication, 6:i64 blocksize) 
  66.                           throws (1:ThriftIOException ouch),
  67.   // returns a handle to an existing file  for reading
  68.   ThriftHandle open(1:Pathname path) throws (1:ThriftIOException ouch),
  69.   // returns a handle to an existing file for appending to it.
  70.   ThriftHandle append(1:Pathname path) throws (1:ThriftIOException ouch),
  71.   // write a string to the open handle for the file
  72.   bool write(1:ThriftHandle handle, string data) throws (1:ThriftIOException ouch),
  73.   // read some bytes from the open handle for the file
  74.   string read(1:ThriftHandle handle, i64 offset, i32 size) throws (1:ThriftIOException ouch),
  75.   // close file
  76.   bool close(1:ThriftHandle out) throws (1:ThriftIOException ouch),
  77.   // delete file(s) or directory(s)
  78.   bool rm(1:Pathname path, 2:bool recursive) throws (1:ThriftIOException ouch),
  79.   // rename file(s) or directory(s)
  80.   bool rename(1:Pathname path, 2:Pathname dest) throws (1:ThriftIOException ouch),
  81.   // create directory
  82.   bool mkdirs(1:Pathname path) throws (1:ThriftIOException ouch),
  83.   // Does this pathname exist?
  84.   bool exists(1:Pathname path) throws (1:ThriftIOException ouch),
  85.   // Returns status about the path
  86.   FileStatus stat(1:Pathname path) throws (1:ThriftIOException ouch),
  87.   // If the path is a directory, then returns the list of pathnames in that directory
  88.   list<FileStatus> listStatus(1:Pathname path) throws (1:ThriftIOException ouch),
  89.   // Set permission for this file
  90.   void chmod(1:Pathname path, 2:i16 mode) throws (1:ThriftIOException ouch),
  91.   // set the owner and group of the file.
  92.   void chown(1:Pathname path, 2:string owner, 3:string group) throws (1:ThriftIOException ouch),
  93.   // set the replication factor for all blocks of the specified file
  94.   void setReplication(1:Pathname path, 2:i16 replication) throws (1:ThriftIOException ouch),
  95.   // get the locations of the blocks of this file
  96.   list<BlockLocation> getFileBlockLocations(1:Pathname path, 2:i64 start, 3:i64 length) throws (1:ThriftIOException ouch),
  97. }