From e6918187568dbd01842d8d1d2c808ce16a894239 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 21 Apr 2024 13:54:28 +0200 Subject: Adding upstream version 18.2.2. Signed-off-by: Daniel Baumann --- src/arrow/ruby/red-parquet/README.md | 52 ++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/arrow/ruby/red-parquet/README.md (limited to 'src/arrow/ruby/red-parquet/README.md') diff --git a/src/arrow/ruby/red-parquet/README.md b/src/arrow/ruby/red-parquet/README.md new file mode 100644 index 000000000..ff919c537 --- /dev/null +++ b/src/arrow/ruby/red-parquet/README.md @@ -0,0 +1,52 @@ + + +# Red Parquet - Apache Parquet Ruby + +Red Parquet is the Ruby bindings of Apache Parquet. Red Parquet is based on GObject Introspection. + +[Apache Parquet](https://parquet.apache.org/) is a columnar storage format. + +[GObject Introspection](https://wiki.gnome.org/action/show/Projects/GObjectIntrospection) is a middleware for language bindings of C library. GObject Introspection can generate language bindings automatically at runtime. + +Red Parquet uses [Apache Parquet GLib](https://github.com/apache/arrow/tree/master/c_glib/parquet-glib) and [gobject-introspection gem](https://rubygems.org/gems/gobject-introspection) to generate Ruby bindings of Apache Parquet. + +Apache Parquet GLib is a C wrapper for [Apache Parquet C++](https://github.com/apache/arrow/tree/master/cpp/src/parquet). GObject Introspection can't use Apache Parquet C++ directly. Apache Parquet GLib is a bridge between Apache Parquet C++ and GObject Introspection. + +gobject-introspection gem is a Ruby bindings of GObject Introspection. Red Parquet uses GObject Introspection via gobject-introspection gem. + +## Install + +Install Apache Parquet GLib before install Red Parquet. See [Apache Arrow install document](https://arrow.apache.org/install/) for details. + +Install Red Parquet after you install Apache Parquet GLib: + +```text +% gem install red-parquet +``` + +## Usage + +```ruby +require "parquet" + +table = Arrow::Table.load("/dev/shm/data.parquet") +# Process data in table +table.save("/dev/shm/data-processed.parquet") +``` -- cgit v1.2.3