Example usage for org.apache.hadoop.io VIntWritable VIntWritable

List of usage examples for org.apache.hadoop.io VIntWritable VIntWritable

Introduction

In this page you can find the example usage for org.apache.hadoop.io VIntWritable VIntWritable.

Prototype

public VIntWritable() 

Source Link

Usage

From source file:PFPGrowth_in_SPARK.TransactionTree.java

License:Apache License

public void readFields(DataInput in) throws IOException {
    representedAsList = in.readBoolean();

    VIntWritable vInt = new VIntWritable();
    VLongWritable vLong = new VLongWritable();

    if (representedAsList) {
        transactionSet = Lists.newArrayList();
        vInt.readFields(in);/*from   w w  w .  ja  va  2s  .  c om*/
        int numTransactions = vInt.get();
        for (int i = 0; i < numTransactions; i++) {
            vLong.readFields(in);
            Long support = vLong.get();

            vInt.readFields(in);
            int length = vInt.get();

            int[] items = new int[length];
            for (int j = 0; j < length; j++) {
                vInt.readFields(in);
                items[j] = vInt.get();
            }
            Pair<IntArrayList, Long> transaction = new Pair<IntArrayList, Long>(new IntArrayList(items),
                    support);
            transactionSet.add(transaction);
        }
    } else {
        vInt.readFields(in);
        nodes = vInt.get();
        attribute = new int[nodes];
        nodeCount = new long[nodes];
        childCount = new int[nodes];
        nodeChildren = new int[nodes][];
        for (int i = 0; i < nodes; i++) {
            vInt.readFields(in);
            attribute[i] = vInt.get();
            vLong.readFields(in);
            nodeCount[i] = vLong.get();
            vInt.readFields(in);
            int childCountI = vInt.get();
            childCount[i] = childCountI;
            nodeChildren[i] = new int[childCountI];
            for (int j = 0; j < childCountI; j++) {
                vInt.readFields(in);
                nodeChildren[i][j] = vInt.get();
            }
        }
    }
}

From source file:PFPGrowth_in_SPARK.TransactionTree.java

License:Apache License

public void write(DataOutput out) throws IOException {
    out.writeBoolean(representedAsList);
    VIntWritable vInt = new VIntWritable();
    VLongWritable vLong = new VLongWritable();
    if (representedAsList) {
        int transactionSetSize = transactionSet.size();
        vInt.set(transactionSetSize);/*www  .  j  a va2s .  c  o m*/
        vInt.write(out);
        for (Pair<IntArrayList, Long> transaction : transactionSet) {
            vLong.set(transaction.getSecond());
            vLong.write(out);

            vInt.set(transaction.getFirst().size());
            vInt.write(out);

            IntArrayList items = transaction.getFirst();
            for (int idx = 0; idx < items.size(); idx++) {
                int item = items.get(idx);
                vInt.set(item);
                vInt.write(out);
            }
        }
    } else {
        vInt.set(nodes);
        vInt.write(out);
        for (int i = 0; i < nodes; i++) {
            vInt.set(attribute[i]);
            vInt.write(out);
            vLong.set(nodeCount[i]);
            vLong.write(out);
            vInt.set(childCount[i]);
            vInt.write(out);
            int max = childCount[i];
            for (int j = 0; j < max; j++) {
                vInt.set(nodeChildren[i][j]);
                vInt.write(out);
            }
        }
    }
}