Coder Social home page Coder Social logo

jaysnm / dremio-arrow Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 5.0 1.83 MB

Dremio Arrow Flight Client

Home Page: https://jaysnm.github.io/dremio-arrow/

License: Other

Dockerfile 0.82% Python 84.15% Makefile 1.84% Shell 13.19%
dremio dremio-arrow pyarrow pandas dataframe python r

dremio-arrow's Introduction

Dremio SQL Lakehouse Arrow Flight Client

Python3.9 Python3.10 Python3.11

Arrow Flight is a high-speed, distributed protocol designed to handle big data, providing increase in throughput between client applications and Dremio. This Dremio Arrow Flight Client is based on python official examples.

Disclaimer: This project is not affliated to dremio in any way. It is a tool that I developed while at CIFOR-ICRAF and now we have decided to open source it for wider community use. While I may not have enough time to actively maintain it, the tool is stable enough to sustain future use cases. Besides, community contribution is warmly welcome in form of PRs and forks.

Flight Basics

The Arrow Flight libraries provide a development framework for implementing a service that can send and receive data streams. A Flight server supports several basic kinds of requests:

  • Handshake: a simple request to determine whether the client is authorized and, in some cases, to establish an implementation-defined session token to use for future requests
  • ListFlights: return a list of available data streams
  • GetSchema: return the schema for a data stream
  • GetFlightInfo: return an “access plan” for a dataset of interest, possibly requiring consuming multiple data streams. This request can accept custom serialized commands containing, for example, your specific application parameters.
  • DoGet: send a data stream to a client
  • DoPut: receive a data stream from a client
  • DoAction: perform an implementation-specific action and return any results, i.e. a generalized function call
  • ListActions: return a list of available action types

More details can be found here

Illustration

Installation

Please see installation notes here

dremio-arrow's People

Contributors

allanleanderrostockhansen avatar dependabot[bot] avatar jaysnm avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dremio-arrow's Issues

Any plans to support conda packages

  • dremio-arrow version: 1.0.1
  • Python version: 3.7
  • Operating System: Linux

Description

Do you intend to support a conda packaged version on conda-forge

Back to active development and maintenance

Dear user,

I hope you found this project useful. While it is expected that the package is compatible with most (if not all) dremio engines, a lot has changed in the dremio world. For this reason, I am back to actively maintain this package to keep it useful and reliable.

Regards,
Jason

Upgrade to Support PyArrow 9.0.0

dremio-arrow version: 1.0.1
Python version: 3.7
Operating System: Linux

Description

Latest Dremio version ships with Pyarrow 9.0.0, so far everything in arrow and flight works well with arrow 9.0.0

Any reason to not change the pins from <8.0 to <10..0 allowing installtion without downgrading existing environments from pyarrow 9.0 to 8.0

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.