Pythonic DSL for Apache Drill
Project description
pyDrill-dsl
Pythonic DSL for Apache Drill.
Schema-free SQL Query Engine for Hadoop, NoSQL and Cloud Storage
Free software: MIT license
Documentation: https://pydrill_dsl.readthedocs.org.
Features
Uses Peewee syntax
Support for all storage plugins
Support for drivers PyODBC and pyDrill
Sample usage
from pydrill_dsl.resource import Resource class Employee(Resource): first_name = Field() salary = Field() position_id = Field() department_id = Field() class Meta: storage_plugin = 'cp' path = 'employee.json' Employee.select().filter(salary__gte=17000) Employee.select().paginate(page=1, paginate_by=5) salary_gte_17K = (Employee.salary >= 17000) salary_lte_25K = (Employee.salary <= 25000) Employee.select().where(salary_gte_17K & salary_lte_25K) Employee.select( fn.Min(Employee.salary).alias('salary_min'), fn.Max(Employee.salary).alias('salary_max') ).scalar(as_tuple=True) # creation of resource can be done without creation of class: employee = Resource(storage_plugin='cp', path='employee.json', fields=('first_name', 'salary', 'position_id', 'department_id'))
History
0.0.2 (2016-05-19)
First release on PyPI.
Uses Peewee syntax
Support for all storage plugins
Support for drivers PyODBC and pyDrill
Builds are tested by docker container with Apache Drill running
0.0.1 (2016-02-18)
Initial release on github.