This java class shows how to use the Pail API to write/read String data types values to/from pail.
►
src/main/java/mtitek/pail/string/samples/PailString.java
package mtitek.pail.string.samples;
import java.io.IOException;
import java.util.UUID;
import org.apache.hadoop.fs.Path;
import com.backtype.hadoop.pail.Pail;
public class PailString {
private static final String PAIL_PATH = "/tmp/pail-test/pail-string";
public static void main(String[] args) throws IOException {
writeString();
readString();
}
private static void writeString() throws IOException {
@SuppressWarnings("unchecked")
final Pail<String> pail = Pail.create(PailString.PAIL_PATH, false);
final Pail<String>.TypedRecordOutputStream typedRecordOutputStream = pail.openWrite();
final String uuid = UUID.randomUUID().toString();
typedRecordOutputStream.writeObject("UUID".getBytes());
typedRecordOutputStream.writeObject(uuid.getBytes());
typedRecordOutputStream.close();
}
private static void readString() throws IOException {
final Pail<byte[]> bytesPail = new Pail<>(PailString.PAIL_PATH);
final Pail<byte[]>.PailIterator localPailIterator = bytesPail.iterator();
while (localPailIterator.hasNext()) {
final byte[] bytes = (byte[]) localPailIterator.next();
System.out.println(new String(bytes));
}
}
}