Giter Site home page Giter Site logo

external-sort-using-seastar's Introduction

External Sort using Seastar

Compile and build

To compile and build the application, run the following from the root of the repo :

cmake -B build -G Ninja .
cd build && ninja

or to use make

cmake -B build .
cd build && make -j <jobs>

Seastar prerequisite

Seastar framework is a dependency for building the external-sort app. You can either build seastar locally yourself and pass the build directory when building external sort via SEASTAR_BUILD_DIR argument. For example :

cmake -B build -G Ninja -DSEASTAR_BUILD_DIR=/tmp/seastar/build/release .
cd build && ninja

(or) you can skip this argument and cmake will automatically pull the latest seastar code and build external-sort using that.

Run external sort

Once built, it is pretty straighforward to run the external-sort app. In addition to the default command line arguments provided by the seastar framewrok, external-sort provides the following command line arguments :

App options:
  -h [ --help ]                    show help message
  --help-seastar                   show help message about seastar options
  --help-loggers                   print a list of logger names and exit
  -f [ --input-filename ] arg      Path to the file that has the records.
  -t [ --tempdir ] arg (="")       Path to the temp directory to store 
                                   intermediate files.
  -o [ --output-dir ] arg (="")    Directory to store the sorted result file. 
                                   By default, the result will be stored in the
                                   same directory as the input data.
  -v [ --verify-results ] arg (=0) Verify the external sort result

Only the --input-filename argument is required as the app needs to know where the records that needs to be sorted are stored.

To run the app and then verify the results :

./external-sort --input-filename /path/to/unsorted/records --verify-results=1

You can also use it in combination with the seastar arguments. For example to restrict the app to run only one 3 cores and with 200M memory :

./external-sort --input-filename /path/to/unsorted/records -c 3 -m 200M

external-sort-using-seastar's People

Contributors

lkshminarayanan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.