Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 10-Nov-2021 | - | ||||
benchmark/ | H | 10-Nov-2021 | - | 788 | 714 | |
doc/text/ | H | 10-Nov-2021 | - | 35 | 8 | |
example/ | H | 10-Nov-2021 | - | 202 | 112 | |
ext/arrow/ | H | 10-Nov-2021 | - | 1,784 | 1,345 | |
image/ | H | 03-May-2022 | - | |||
lib/ | H | 10-Nov-2021 | - | 7,775 | 4,316 | |
test/ | H | 10-Nov-2021 | - | 13,320 | 10,748 | |
.gitignore | H A D | 10-Nov-2021 | 872 | 24 | 22 | |
.yardopts | H A D | 10-Nov-2021 | 83 | 7 | 6 | |
Gemfile | H A D | 10-Nov-2021 | 843 | 23 | 20 | |
README.md | H A D | 10-Nov-2021 | 2.8 KiB | 75 | 37 | |
Rakefile | H A D | 10-Nov-2021 | 2.5 KiB | 101 | 86 | |
red-arrow.gemspec | H A D | 10-Nov-2021 | 2.6 KiB | 68 | 61 |
README.md
1<!--- 2 Licensed to the Apache Software Foundation (ASF) under one 3 or more contributor license agreements. See the NOTICE file 4 distributed with this work for additional information 5 regarding copyright ownership. The ASF licenses this file 6 to you under the Apache License, Version 2.0 (the 7 "License"); you may not use this file except in compliance 8 with the License. You may obtain a copy of the License at 9 10 http://www.apache.org/licenses/LICENSE-2.0 11 12 Unless required by applicable law or agreed to in writing, 13 software distributed under the License is distributed on an 14 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 KIND, either express or implied. See the License for the 16 specific language governing permissions and limitations 17 under the License. 18--> 19 20# Red Arrow - Apache Arrow Ruby 21 22Red Arrow is the Ruby bindings of Apache Arrow. Red Arrow is based on GObject Introspection. 23 24[Apache Arrow](https://arrow.apache.org/) is an in-memory columnar data store. It's used by many products for data analytics. 25 26[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. 27 28Red Arrow uses [Apache Arrow GLib](https://github.com/apache/arrow/tree/master/c_glib) and [gobject-introspection gem](https://rubygems.org/gems/gobject-introspection) to generate Ruby bindings of Apache Arrow. 29 30Apache Arrow GLib is a C wrapper for [Apache Arrow C++](https://github.com/apache/arrow/tree/master/cpp). GObject Introspection can't use Apache Arrow C++ directly. Apache Arrow GLib is a bridge between Apache Arrow C++ and GObject Introspection. 31 32gobject-introspection gem is a Ruby bindings of GObject Introspection. Red Arrow uses GObject Introspection via gobject-introspection gem. 33 34## Install 35 36Install Apache Arrow GLib before install Red Arrow. See [Apache Arrow install document](https://arrow.apache.org/install/) for details. 37 38Install Red Arrow after you install Apache Arrow GLib: 39 40```console 41% gem install red-arrow 42``` 43 44## Usage 45 46```ruby 47require "arrow" 48 49table = Arrow::Table.load("/dev/shm/data.arrow") 50# Process data in table 51table.save("/dev/shm/data-processed.arrow") 52``` 53 54## Development 55 56Note that you need to install Apache Arrow C++/GLib at master before preparing Red Arrow. See also: 57 58 * For Apache Arrow C++: https://arrow.apache.org/docs/developers/cpp/building.html 59 * For Apache Arrow GLib: https://github.com/apache/arrow/blob/master/c_glib/README.md 60 61```console 62$ cd ruby/red-arrow 63$ bundle install 64$ bundle exec rake test 65``` 66 67### For macOS with Homebrew 68 69```console 70$ cd ruby/red-arrow 71$ bundle install 72$ brew install apache-arrow --head 73$ brew install apache-arrow-glib --head 74$ bundle exec rake test 75```