public static class TFile.Reader extends Object implements Closeable
createScanner()
) , a portion of TFile based on byte offsets (
createScannerByByteRange(long, long)), or a portion of TFile with keys
fall in a certain key range (for sorted TFile only,
createScannerByKey(byte[], byte[]) or
createScannerByKey(RawComparable, RawComparable)).| 限定符和类型 | 类和说明 |
|---|---|
static class |
TFile.Reader.Scanner
The TFile Scanner.
|
| 构造器和说明 |
|---|
TFile.Reader(FSDataInputStream fsdis,
long fileLength,
Configuration conf)
Constructor
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
close()
Close the reader.
|
TFile.Reader.Scanner |
createScanner()
Get a scanner than can scan the whole TFile.
|
TFile.Reader.Scanner |
createScanner(byte[] beginKey,
byte[] endKey)
已过时。
Use
createScannerByKey(byte[], byte[]) instead. |
TFile.Reader.Scanner |
createScanner(RawComparable beginKey,
RawComparable endKey)
已过时。
Use
createScannerByKey(RawComparable, RawComparable)
instead. |
TFile.Reader.Scanner |
createScannerByByteRange(long offset,
long length)
Get a scanner that covers a portion of TFile based on byte offsets.
|
TFile.Reader.Scanner |
createScannerByKey(byte[] beginKey,
byte[] endKey)
Get a scanner that covers a portion of TFile based on keys.
|
TFile.Reader.Scanner |
createScannerByKey(RawComparable beginKey,
RawComparable endKey)
Get a scanner that covers a specific key range.
|
TFile.Reader.Scanner |
createScannerByRecordNum(long beginRecNum,
long endRecNum)
Create a scanner that covers a range of records.
|
Comparator<RawComparable> |
getComparator()
Get an instance of the RawComparator that is constructed based on the
string comparator representation.
|
String |
getComparatorName()
Get the string representation of the comparator.
|
Comparator<TFile.Reader.Scanner.Entry> |
getEntryComparator()
Get a Comparator object to compare Entries.
|
long |
getEntryCount()
Get the number of key-value pair entries in TFile.
|
RawComparable |
getFirstKey()
Get the first key in the TFile.
|
RawComparable |
getKeyNear(long offset)
Get a sample key that is within a block whose starting offset is greater
than or equal to the specified offset.
|
RawComparable |
getLastKey()
Get the last key in the TFile.
|
DataInputStream |
getMetaBlock(String name)
Stream access to a meta block
|
long |
getRecordNumNear(long offset)
Get the RecordNum for the first key-value pair in a compressed block
whose byte offset in the TFile is greater than or equal to the specified
offset.
|
boolean |
isSorted()
Is the TFile sorted?
|
public TFile.Reader(FSDataInputStream fsdis, long fileLength, Configuration conf) throws IOException
fsdis - FS input stream of the TFile.fileLength - The length of TFile. This is required because we have no easy
way of knowing the actual size of the input file through the
File input stream.conf - IOExceptionpublic void close()
throws IOException
close 在接口中 Closeableclose 在接口中 AutoCloseableIOExceptionpublic String getComparatorName()
public boolean isSorted()
public long getEntryCount()
public RawComparable getFirstKey() throws IOException
IOExceptionpublic RawComparable getLastKey() throws IOException
IOExceptionpublic Comparator<TFile.Reader.Scanner.Entry> getEntryComparator()
public Comparator<RawComparable> getComparator()
public DataInputStream getMetaBlock(String name) throws IOException, MetaBlockDoesNotExist
name - The name of the meta block.IOException - on I/O error.MetaBlockDoesNotExist - If the meta block with the name does not exist.public long getRecordNumNear(long offset)
throws IOException
offset - the user supplied offset.IOExceptionpublic RawComparable getKeyNear(long offset) throws IOException
offset - The file offset.IOExceptionpublic TFile.Reader.Scanner createScanner() throws IOException
IOExceptionpublic TFile.Reader.Scanner createScannerByByteRange(long offset, long length) throws IOException
offset - The beginning byte offset in the TFile.length - The length of the region.IOException@Deprecated public TFile.Reader.Scanner createScanner(byte[] beginKey, byte[] endKey) throws IOException
createScannerByKey(byte[], byte[]) instead.beginKey - Begin key of the scan (inclusive). If null, scan from the first
key-value entry of the TFile.endKey - End key of the scan (exclusive). If null, scan up to the last
key-value entry of the TFile.IOExceptionpublic TFile.Reader.Scanner createScannerByKey(byte[] beginKey, byte[] endKey) throws IOException
beginKey - Begin key of the scan (inclusive). If null, scan from the first
key-value entry of the TFile.endKey - End key of the scan (exclusive). If null, scan up to the last
key-value entry of the TFile.IOException@Deprecated public TFile.Reader.Scanner createScanner(RawComparable beginKey, RawComparable endKey) throws IOException
createScannerByKey(RawComparable, RawComparable)
instead.beginKey - Begin key of the scan (inclusive). If null, scan from the first
key-value entry of the TFile.endKey - End key of the scan (exclusive). If null, scan up to the last
key-value entry of the TFile.IOExceptionpublic TFile.Reader.Scanner createScannerByKey(RawComparable beginKey, RawComparable endKey) throws IOException
beginKey - Begin key of the scan (inclusive). If null, scan from the first
key-value entry of the TFile.endKey - End key of the scan (exclusive). If null, scan up to the last
key-value entry of the TFile.IOExceptionpublic TFile.Reader.Scanner createScannerByRecordNum(long beginRecNum, long endRecNum) throws IOException
beginRecNum - The RecordNum for the first record (inclusive).endRecNum - The RecordNum for the last record (exclusive). To scan the whole
file, either specify endRecNum==-1 or endRecNum==getEntryCount().IOExceptionCopyright © 2009 The Apache Software Foundation