Commit e434accb authored by 陈萌's avatar 陈萌
Browse files

HDFSIOReader version 0.1

parent 92fe88c3
Loading
Loading
Loading
Loading
+44 −0
Original line number Diff line number Diff line
//License...


#include "storage/hdfs/HDFSIOReader.h"

namespace milvus{
namespace storage{

bool
HDFSIOReader::open(const std::string & name){
    name_ = name;
    hdfs_fs = hdfsConnect("default",0);

    if(hdfs_fs == nullptr)
        return false;

    hdfs_file = hdfsOpenFile(hdfs_fs, name_.c_str(), O_RDONLY, 0, 0, 0);
    return true;
}

void
HDFSIOReader::read(void* ptr, int64_t size){
    tSize nums_of_bytes = hdfsRead(hdfs_fs, hdfs_file, reinterpret_cast<char*>(ptr), static_cast<int32_t>(size));
    //nums_of_bytes is useless because of the base class
}

void
HDFSIOReader::seekg(int64_t pos){
    int seek_pos = hdfsSeek(hdfs_fs, hdfs_file, pos);
    // if seek_pos == 0 success  , -1 error
}






}//storage

}//milvus



+49 −0
Original line number Diff line number Diff line
// License...?

#include "storage/hdfs/hdfs.h"
#include "storage/IOReader.h"
#include <memory>
#include <string>

namespace milvus{
    namespace storage{

class HDFSIOReader : public IOReader{
    public:
        // same as disk
        HDFSIOReader() = default;
        ~HDFSIOReader() = default;
        HDFSIOReader(const HDFSIOReader&) = delete;
        HDFSIOReader(HDFSIOReader&&) = delete;

        HDFSIOReader&
        operator=(const HDFSIOReader&) = delete;
        HDFSIOReader&
        operator=(HDFSIOReader&&) = delete;

        bool
        open(const std::string& name) override;

        //read data from hdfs to the pointed buffer
        void
        read(void* ptr, int64_t size) override;

        void
        seekg(int64_t) override;

        int64_t
        length() override;

        

public:
    std::string name_;
    // std::string buffer_; //why there is a buffer in S3 ???
    hdfsFS hdfs_fs;
    hdfsFile hdfs_file;

}

    }
}
+0 −0

Empty file added.

+0 −0

Empty file added.

+1086 −0

File added.

Preview size limit exceeded, changes collapsed.