Search in sources :

Example 1 with HgkvDirBuilder

use of com.baidu.hugegraph.computer.core.store.hgkvfile.file.builder.HgkvDirBuilder in project hugegraph-computer by hugegraph.

the class SorterImpl method sortBuffers.

private void sortBuffers(List<EntryIterator> entries, OuterSortFlusher flusher, String output) throws IOException {
    InputsSorter sorter = new InputsSorterImpl();
    try (HgkvDirBuilder builder = new HgkvDirBuilderImpl(this.config, output)) {
        EntryIterator result = sorter.sort(entries);
        flusher.flush(result, builder);
    }
}
Also used : HgkvDirBuilder(com.baidu.hugegraph.computer.core.store.hgkvfile.file.builder.HgkvDirBuilder) InputsSorterImpl(com.baidu.hugegraph.computer.core.sort.sorter.InputsSorterImpl) InputsSorter(com.baidu.hugegraph.computer.core.sort.sorter.InputsSorter) EntryIterator(com.baidu.hugegraph.computer.core.store.hgkvfile.buffer.EntryIterator) HgkvDirBuilderImpl(com.baidu.hugegraph.computer.core.store.hgkvfile.file.builder.HgkvDirBuilderImpl)

Example 2 with HgkvDirBuilder

use of com.baidu.hugegraph.computer.core.store.hgkvfile.file.builder.HgkvDirBuilder in project hugegraph-computer by hugegraph.

the class HgkvDirMergerImpl method mergeInputs.

private void mergeInputs(List<String> inputs, InputToEntries inputToEntries, OuterSortFlusher flusher, String output) throws Exception {
    /*
         * File value format is different, upper layer is required to
         * provide the file reading mode
         */
    List<EntryIterator> entries = inputs.stream().map(inputToEntries::inputToEntries).collect(Collectors.toList());
    InputsSorter sorter = new InputsSorterImpl();
    // Merge inputs and write to output
    try (EntryIterator sortedKv = sorter.sort(entries);
        HgkvDirBuilder builder = new HgkvDirBuilderImpl(this.config, output)) {
        flusher.flush(sortedKv, builder);
    }
}
Also used : HgkvDirBuilder(com.baidu.hugegraph.computer.core.store.hgkvfile.file.builder.HgkvDirBuilder) InputsSorterImpl(com.baidu.hugegraph.computer.core.sort.sorter.InputsSorterImpl) EntryIterator(com.baidu.hugegraph.computer.core.store.hgkvfile.buffer.EntryIterator) InputsSorter(com.baidu.hugegraph.computer.core.sort.sorter.InputsSorter) HgkvDirBuilderImpl(com.baidu.hugegraph.computer.core.store.hgkvfile.file.builder.HgkvDirBuilderImpl)

Aggregations

InputsSorter (com.baidu.hugegraph.computer.core.sort.sorter.InputsSorter)2 InputsSorterImpl (com.baidu.hugegraph.computer.core.sort.sorter.InputsSorterImpl)2 EntryIterator (com.baidu.hugegraph.computer.core.store.hgkvfile.buffer.EntryIterator)2 HgkvDirBuilder (com.baidu.hugegraph.computer.core.store.hgkvfile.file.builder.HgkvDirBuilder)2 HgkvDirBuilderImpl (com.baidu.hugegraph.computer.core.store.hgkvfile.file.builder.HgkvDirBuilderImpl)2