apache / apache/arrow

[C++] String manipulation on a dictionary column

Open
#40,430 1 comment 0 reactions 0 assignees View on GitHub
Component: C++ Status: needs champion Type: enhancement
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the bug, including details regarding any error messages, version, and platform.

I was trying to write up an R example using a dataset that has lots of dictionary columns, but am unable to do string manipulation on it. Here's a slightly contrived examples using mtcars:

``` r
library(arrow)
library(dplyr)
mtcars |>
mutate(cyl = as.factor(as.character(cyl))) |>
arrow_table() |>
mutate(cyl6 = str_detect(cyl, "6")) |>
collect()
#> Error in `compute.arrow_dplyr_query()`:
#> ! NotImplemented: Function 'match_substring_regex' has no kernel matching input types (dictionary)
```

I'm wondering if this is something we could enable from the R package side, perhaps looking at the type of the column and doing some casting if we are trying to do this type of operation? Or even in the C++ using the dictionary values? I'm not sure how complicated this would be though.

### Component(s)

C++

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.