Skip to content

Lightweight Presto pluster for verifying query result consistency

License

Notifications You must be signed in to change notification settings

bringg/tiny-presto

 
 

Repository files navigation

tiny-presto Actions Status Gem Gem

Tiny Presto cluster to check the compatibility of query result by using the specific Presto version.

Install

$ gem install tiny-presto

Prerequisites

tiny-presto uses Docker to run single node Presto cluster. Please ensure to install the Docker engine properly in advance.

See Docker Engine overview

Usage

You can run the query easily as follows.

rows = TinyPresto.run('show schemas')
# => [["default"], ["information_schema"]]

As tiny-presto uses the memory connector as default, it is also possible to create a table.

TinyPresto.run("create table ctas1 as select * from (values (1, 'a'), (2, 'b')) t(c1, c2)")
rows = TinyPresto.run("select * from ctas1")
# => [[1, 'a'], [2, 'b']]

To check the result consistency, verify method is available.

result = TinyPresto.verify('show schemas', [["default"], ["information_schema"]])
# result is true if the returned value by the query matched with the given expected result.

To ensure to delete the tiny-presto cluster, make sure to call ensure_stop before exiting.

TinyPresto.ensure_stop

About

Lightweight Presto pluster for verifying query result consistency

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%