跳到內容

此類別讓您能夠與 Parquet 檔案互動。

Factory

ParquetFileReader$create() 工廠方法實例化物件,並接受以下引數

  • file 字元檔案名稱、原始向量或 Arrow 檔案連線物件 (例如 RandomAccessFile)。

  • props 選用 ParquetArrowReaderProperties

  • mmap 邏輯值:是否將檔案記憶體對應 (預設 TRUE)

  • reader_props 選用 ParquetReaderProperties

  • ... 其他引數,目前已忽略

Methods

  • $ReadTable(column_indices): 從檔案取得 arrow::Table。選用的 column_indices= 引數是一個從 0 開始的整數向量,指示要保留哪些欄位。

  • $ReadRowGroup(i, column_indices): 透過讀取第 i 個 (從 0 開始) 列組來取得 arrow::Table。選用的 column_indices= 引數是一個從 0 開始的整數向量,指示要保留哪些欄位。

  • $ReadRowGroups(row_groups, column_indices): 透過讀取數個 (從 0 開始的整數) 列組來取得 arrow::Table。選用的 column_indices= 引數是一個從 0 開始的整數向量,指示要保留哪些欄位。

  • $GetSchema(): 取得檔案中資料的 arrow::Schema

  • $ReadColumn(i): 將第 i 個 (從 0 開始) 欄位讀取為 ChunkedArray

Active bindings

  • $num_rows: 列數。

  • $num_columns: 欄數。

  • $num_row_groups: 列組數。

Examples

f <- system.file("v0.7.1.parquet", package = "arrow")
pq <- ParquetFileReader$create(f)
pq$GetSchema()
#> Schema
#> carat: double
#> cut: string
#> color: string
#> clarity: string
#> depth: double
#> table: double
#> price: int64
#> x: double
#> y: double
#> z: double
#> __index_level_0__: int64
#> 
#> See $metadata for additional Schema metadata
if (codec_is_available("snappy")) {
  # This file has compressed data columns
  tab <- pq$ReadTable()
  tab$schema
}
#> Schema
#> carat: double
#> cut: string
#> color: string
#> clarity: string
#> depth: double
#> table: double
#> price: int64
#> x: double
#> y: double
#> z: double
#> __index_level_0__: int64
#> 
#> See $metadata for additional Schema metadata