The Ruby bindings for Apache Arrow DataFusion. This uses DataFusion C API.
gem install red-datafusion
require "datafusion"
context = DataFusion::SessionContext.new
table = Arrow::Table.new(boolean: [true, nil, false],
integer: [1, 2, nil])
context.register("data", table)
data_frame = context.sql("SELECT * FROM data WHERE boolean = true")
puts(data_frame.to_table)
# boolean integer
# 0 true 1
There is another Ruby bindings available at gem "arrow-datafusion". It focus on running query on Object Store and does not bundle with gem "red-arrow".