Package org.apache.hadoop.hbase.io
Class Reference
java.lang.Object
org.apache.hadoop.hbase.io.Reference
A reference to the top or bottom half of a store file where 'bottom' is the first half of the
file containing the keys that sort lowest and 'top' is the second half of the file with keys that
sort greater than those of the bottom half. The file referenced lives under a different region.
References are made at region split time.
References work with a special half store file type. References know how to write out the reference format in the file system and are what is juggled when references are mixed in with direct store files. The half store file type is used reading the referred to file.
References to store files located over in some other region look like this in the file system
1278437856009925445.3323223323
: i.e. an id followed by hash of the referenced
region. Note, a region is itself not splittable if it has instances of store file references.
References are cleaned up by compactions.
-
Nested Class Summary
Modifier and TypeClassDescription(package private) static enum
For split HStoreFiles, it specifies if the file covers the lower half or the upper half of the key range -
Field Summary
-
Constructor Summary
ConstructorDescriptionDeprecated.need by pb serializationReference
(byte[] splitRow, Reference.Range fr) Constructor -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.hadoop.hbase.shaded.protobuf.generated.FSProtos.Reference
convert()
static Reference
convert
(org.apache.hadoop.hbase.shaded.protobuf.generated.FSProtos.Reference r) static Reference
createBottomReference
(byte[] splitRow) Returns AReference
that points at the bottom half of a an hfilestatic Reference
createTopReference
(byte[] splitRow) Returns AReference
that points at top half of a an hfileboolean
byte[]
int
hashCode()
static boolean
static Reference
read
(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path p) Read a Reference from FileSystem.void
readFields
(DataInput in) Deprecated.Writables are going away.(package private) byte[]
Use this when writing to a stream and you want to use the pb mergeDelimitedFrom (w/o the delimiter, pb reads to EOF which may not be what you want).toString()
org.apache.hadoop.fs.Path
write
(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path p)
-
Field Details
-
splitkey
-
region
-
-
Constructor Details
-
Reference
Reference(byte[] splitRow, Reference.Range fr) Constructor- Parameters:
splitRow
- This is row we are splitting around.
-
Reference
Deprecated.need by pb serializationUsed by serializations.
-
-
Method Details
-
createTopReference
Returns AReference
that points at top half of a an hfile -
createBottomReference
Returns AReference
that points at the bottom half of a an hfile -
getFileRegion
-
getSplitKey
-
toString
-
isTopFileRegion
-
readFields
Deprecated.Writables are going away. Use the pb serialization methods instead. Remove in a release after 0.96 goes out. This is here only to migrate old Reference files written with Writables before 0.96.- Throws:
IOException
-
write
public org.apache.hadoop.fs.Path write(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path p) throws IOException - Throws:
IOException
-
read
public static Reference read(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path p) throws IOException Read a Reference from FileSystem.- Returns:
- New Reference made from passed
p
- Throws:
IOException
-
convert
-
convert
-
toByteArray
Use this when writing to a stream and you want to use the pb mergeDelimitedFrom (w/o the delimiter, pb reads to EOF which may not be what you want).- Returns:
- This instance serialized as a delimited protobuf w/ a magic pb prefix.
- Throws:
IOException
-
hashCode
-
equals
-