簡體   English   中英

從R中的文件名指定Apache箭頭分區

[英]Specifying Apache Arrow partitioning from file names in R

我正在學習 Apache Arrow 和 R,我試圖更好地理解分區機制。

我有一個文件夾,其中包含超過 5 000 個 CSV 具有該結構的文件: cci_v4_2004106_ppz_takuvik_above_45n.csv

library(arrow)
#> 
#> Attaching package: 'arrow'
#> The following object is masked from 'package:utils':
#> 
#>     timestamp

ds <- open_dataset("~/Desktop/ppz/", format = "csv")

ds
#> FileSystemDataset with 5824 csv files
#> longitude: double
#> latitude: double
#> primary_production: double

是否可以從文件名推斷分區? 例如,我想使用類似的東西:

# ds <- open_dataset("~/Desktop/ppz/", format = "csv", partitioning = c("year", "yday"))

我可以定義一個架構,例如partitioning = c("year", "yday")從文件名中獲取值(此處:year = 2004,yday = 106)。

reprex package (v2.0.1) 創建於 2022-03-25

不,這個功能今天不存在。 分區目前僅限於目錄:

/2014/106/ppz_takuvik_above_45n.csv           // "directory" flavor
/year=2014/yday=106/ppz_takuvik_above_45n.csv // "hive" flavor

有一個用於基於文件名的分區的開放式 JIRA 票證,並且有一個 PR 正在審查中,所以我預計它將在 8.0.0 中可用。

但是,該票不會完全按照您的描述進行操作。 它允許您將每個下划線分隔的元素視為一列,但不會將2014106列拆分為year/yday yday 。 另一方面,如果您可以將文件名更改為2014_106 ,我認為您會沒事的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM