Class: OvertureMaps::Import::ParquetReader

Inherits:
Object
  • Object
show all
Defined in:
lib/overture_maps/import/parquet_reader.rb

Overview

Reads local Overture parquet files row by row. Remote access and spatial filtering live in Downloader/QueryEngine — by the time a file reaches this class it is already a local extract.

Constant Summary collapse

THEMES =
Downloader::THEMES

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(theme: nil) ⇒ ParquetReader

Returns a new instance of ParquetReader.



15
16
17
# File 'lib/overture_maps/import/parquet_reader.rb', line 15

def initialize(theme: nil)
  @theme = theme
end

Instance Attribute Details

#themeObject (readonly)

Returns the value of attribute theme.



13
14
15
# File 'lib/overture_maps/import/parquet_reader.rb', line 13

def theme
  @theme
end

Instance Method Details

#each_record(source:, &block) ⇒ Object

Raises:

  • (ArgumentError)


19
20
21
22
23
# File 'lib/overture_maps/import/parquet_reader.rb', line 19

def each_record(source:, &block)
  raise ArgumentError, "source must be a local file path" unless source.is_a?(String) && File.exist?(source)

  Parquet.each_row(source, &block)
end

#record_count(source:) ⇒ Object

Raises:

  • (ArgumentError)


25
26
27
28
29
# File 'lib/overture_maps/import/parquet_reader.rb', line 25

def record_count(source:)
  raise ArgumentError, "source must be a local file path" unless source.is_a?(String) && File.exist?(source)

  Parquet.(source)["num_rows"]
end