org.apache.hadoop.hive.ql.exec.persistence
Class RowContainer<Row extends List<Object>>
java.lang.Object
org.apache.hadoop.hive.ql.exec.persistence.RowContainer<Row>
public class RowContainer<Row extends List<Object>>
- extends Object
Simple persistent container for rows.
This container interface only accepts adding or appending new rows and
iterating through the rows in the order of their insertions.
The iterator interface is a lightweight first()/next() API rather than the
Java Iterator interface. This way we do not need to create an Iterator object
every time we want to start a new iteration. Below is simple example of how
to convert a typical Java's Iterator code to the LW iterator interface.
Iterator itr = rowContainer.iterator();
while (itr.hasNext()) {
v = itr.next(); // do anything with v
}
can be rewritten to:
for ( v = rowContainer.first(); v != null; v = rowContainer.next()) {
// do anything with v
}
Once the first is called, it will not be able to write again. So there can
not be any writes after read. It can be read multiple times, but it does not
support multiple reader interleaving reading.
Field Summary |
protected org.apache.commons.logging.Log |
LOG
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LOG
protected org.apache.commons.logging.Log LOG
RowContainer
public RowContainer(org.apache.hadoop.conf.Configuration jc)
throws HiveException
- Throws:
HiveException
RowContainer
public RowContainer(int blockSize,
org.apache.hadoop.conf.Configuration jc)
throws HiveException
- Throws:
HiveException
RowContainer
public RowContainer(int blockSize,
SerDe sd,
ObjectInspector oi,
org.apache.hadoop.conf.Configuration jc)
throws HiveException
- Throws:
HiveException
setSerDe
public void setSerDe(SerDe sd,
ObjectInspector oi)
add
public void add(Row t)
throws HiveException
- Throws:
HiveException
first
public Row first()
throws HiveException
- Throws:
HiveException
next
public Row next()
throws HiveException
- Throws:
HiveException
size
public int size()
- Get the number of elements in the RowContainer.
- Returns:
- number of elements in the RowContainer
copyToDFSDirecory
public void copyToDFSDirecory(org.apache.hadoop.fs.FileSystem destFs,
org.apache.hadoop.fs.Path destPath)
throws IOException,
HiveException
- Throws:
IOException
HiveException
clear
public void clear()
throws HiveException
- Remove all elements in the RowContainer.
- Throws:
HiveException
setKeyObject
public void setKeyObject(List<Object> dummyKey)
setTableDesc
public void setTableDesc(TableDesc tblDesc)
Copyright © 2010 The Apache Software Foundation