Example usage for org.apache.hadoop.fs CreateFlag NEW_BLOCK

List of usage examples for org.apache.hadoop.fs CreateFlag NEW_BLOCK

Introduction

In this page you can find the example usage for org.apache.hadoop.fs CreateFlag NEW_BLOCK.

Prototype

CreateFlag NEW_BLOCK

To view the source code for org.apache.hadoop.fs CreateFlag NEW_BLOCK.

Click Source Link

Document

Append data to a new block instead of the end of the last partial block.

Usage

From source file:com.mellanox.r4h.DFSOutputStream.java

License:Apache License

/** Construct a new output stream for append. */
private DFSOutputStream(DFSClient dfsClient, String src, EnumSet<CreateFlag> flags, Progressable progress,
        LocatedBlock lastBlock, HdfsFileStatus stat, DataChecksum checksum) throws IOException {
    this(dfsClient, src, progress, stat, checksum);
    initialFileSize = stat.getLen(); // length of file when opened

    this.shouldSyncBlock = flags.contains(CreateFlag.SYNC_BLOCK);
    boolean toNewBlock = flags.contains(CreateFlag.NEW_BLOCK);

    // The last partial block of the file has to be filled.
    if (!toNewBlock && lastBlock != null) {
        // indicate that we are appending to an existing block
        bytesCurBlock = lastBlock.getBlockSize();
        streamer = new DataStreamer(lastBlock, stat, bytesPerChecksum);
    } else {//from   www .j a va2s .  c o  m
        computePacketChunkSize(dfsClient.getConf().getWritePacketSize(), bytesPerChecksum);
        streamer = new DataStreamer(stat, lastBlock != null ? lastBlock.getBlock() : null);
    }
    this.fileEncryptionInfo = stat.getFileEncryptionInfo();
}