]> git.proxmox.com Git - ceph.git/blob - ceph/src/arrow/ruby/red-arrow/example/read-file.rb
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / ruby / red-arrow / example / read-file.rb
1 #!/usr/bin/env ruby
2 #
3 # Licensed to the Apache Software Foundation (ASF) under one
4 # or more contributor license agreements. See the NOTICE file
5 # distributed with this work for additional information
6 # regarding copyright ownership. The ASF licenses this file
7 # to you under the Apache License, Version 2.0 (the
8 # "License"); you may not use this file except in compliance
9 # with the License. You may obtain a copy of the License at
10 #
11 # http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing,
14 # software distributed under the License is distributed on an
15 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 # KIND, either express or implied. See the License for the
17 # specific language governing permissions and limitations
18 # under the License.
19
20 require "arrow"
21
22 Arrow::MemoryMappedInputStream.open("/tmp/file.arrow") do |input|
23 reader = Arrow::RecordBatchFileReader.new(input)
24 fields = reader.schema.fields
25 reader.each_with_index do |record_batch, i|
26 puts("=" * 40)
27 puts("record-batch[#{i}]:")
28 fields.each do |field|
29 field_name = field.name
30 values = record_batch.collect do |record|
31 record[field_name]
32 end
33 puts(" #{field_name}: #{values.inspect}")
34 end
35 end
36 end