跳到內容

在 nanoarrow 中, 'schema' 指的是 Arrow C Data 介面中定義的 struct ArrowSchema。 這個資料結構可以用來表示 arrow::schema()arrow::field()arrow::DataType。 請注意,在 nanoarrow 中, arrow::schema() 和不可為 null 的 arrow::struct() 以相同方式表示。

用法

as_nanoarrow_schema(x, ...)

infer_nanoarrow_schema(x, ...)

nanoarrow_schema_parse(x, recursive = FALSE)

nanoarrow_schema_modify(x, new_values, validate = TRUE)

參數

x

要轉換為結構描述的物件

...

傳遞給 S3 方法

recursive

使用 TRUE 在解析結構描述時包含 children 成員。

new_values

要指派的新結構描述組件

validate

使用 FALSE 跳過結構描述驗證

'nanoarrow_schema' 類別的物件

範例

infer_nanoarrow_schema(integer())
#> <nanoarrow_schema int32>
#>  $ format    : chr "i"
#>  $ name      : chr ""
#>  $ metadata  : list()
#>  $ flags     : int 2
#>  $ children  : list()
#>  $ dictionary: NULL
infer_nanoarrow_schema(data.frame(x = integer()))
#> <nanoarrow_schema struct>
#>  $ format    : chr "+s"
#>  $ name      : chr ""
#>  $ metadata  : list()
#>  $ flags     : int 0
#>  $ children  :List of 1
#>   ..$ x:<nanoarrow_schema int32>
#>   .. ..$ format    : chr "i"
#>   .. ..$ name      : chr "x"
#>   .. ..$ metadata  : list()
#>   .. ..$ flags     : int 2
#>   .. ..$ children  : list()
#>   .. ..$ dictionary: NULL
#>  $ dictionary: NULL