@Override public <K, V> PTable<K, V> unionTables(List<PTable<K, V>> tables) { List<Pair<K, V>> values = Lists.newArrayList(); for (PTable<K, V> table : tables) { Iterables.addAll(values, table.materialize()); } return new MemTable<K, V>(values, tables.get(0).getPTableType(), null); }
@Override public PTable<K, V> union(PTable<K, V>... others) { List<Pair<K, V>> values = Lists.newArrayList(); values.addAll(getCollection()); for (PTable<K, V> ptable : others) { for (Pair<K, V> p : ptable.materialize()) { values.add(p); } } return new MemTable<K, V>(values, others[0].getPTableType(), null); }
@Override public PTable<K, V> union(PTable<K, V>... others) { List<Pair<K, V>> values = Lists.newArrayList(); values.addAll(getCollection()); for (PTable<K, V> ptable : others) { for (Pair<K, V> p : ptable.materialize()) { values.add(p); } } return new MemTable<K, V>(values, others[0].getPTableType(), null); }
@SuppressWarnings({ "rawtypes", "unchecked" }) private void writeSequenceFileFromPTable(final FileSystem fs, final Path path, final PTable table) throws IOException { final PTableType pType = table.getPTableType(); final Class<?> keyClass = pType.getConverter().getKeyClass(); final Class<?> valueClass = pType.getConverter().getValueClass(); final SequenceFile.Writer writer = new SequenceFile.Writer(fs, fs.getConf(), path, keyClass, valueClass); for (final Object o : table.materialize()) { final Pair<?,?> p = (Pair) o; final Object key = pType.getKeyType().getOutputMapFn().map(p.first()); final Object value = pType.getValueType().getOutputMapFn().map(p.second()); writer.append(key, value); } writer.close(); }
Iterable<Pair<K, V>> iterable = right.materialize();