You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Jonathan Keane (Jira)" <ji...@apache.org> on 2021/11/08 15:40:00 UTC

[jira] [Commented] (ARROW-10485) open_dataset(): specifying partition when hive_style =TRUE fails silently

    [ https://issues.apache.org/jira/browse/ARROW-10485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17440558#comment-17440558 ] 

Jonathan Keane commented on ARROW-10485:
----------------------------------------

I wonder if it wouldn’t be too bad performance-wise to check the first element of the partitioning column and see if the name is in it, if it is, at least flag that the specification is an issue?

We also might be encouraging this some since many (all?) of our examples use a non-hive NYC taxi dataset, so we always specify partitioning making that look obligatory. 

> open_dataset(): specifying partition when hive_style =TRUE fails silently
> -------------------------------------------------------------------------
>
>                 Key: ARROW-10485
>                 URL: https://issues.apache.org/jira/browse/ARROW-10485
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: R
>    Affects Versions: 2.0.0
>         Environment: MacOS Catalina 10.15.7 (19H2), R 4.01, arrow R package v2.0.0
>            Reporter: John Sheffield
>            Assignee: Ben Kietzman
>            Priority: Minor
>
> When writing a dataset with hive_style = TRUE, now the default, that dataset has to be opened without an explicit definition of the partitions to work as expected. Even if the correct partition is specified, any query to the dataset on the partition field returns 0 rows.
>  
> From my eyes as a user, I'd want this to error out specifically (not just warn), probably when first calling open_dataset().
> {code:r}
> data("mtcars")
> arrow::write_dataset(
>     dataset = mtcars, path = "mtcarstest", partitioning = "cyl",
>     format = "parquet", hive_style = TRUE)
> mtc1 <- arrow::open_dataset("mtcarstest", partitioning = "cyl")
> mtc2 <- arrow::open_dataset("mtcarstest")
> mtc1 %>%
>      dplyr::filter(cyl == 4) %>%
>      collect()
> mtc2 %>%
>      dplyr::filter(cyl == 4) %>%
>      collect()
>  {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)