[C++][Compute] Random kernels for numeric and binary types
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 88
Description
### Describe the enhancement requested
In discussion about [making PyArrow tests numpy independent](https://github.com/apache/arrow/issues/47255) it came up we could more random array generation kernels to produce random test data for PyArrow (see [RandomArrayGenerator](https://github.com/apache/arrow/blob/main/cpp/src/arrow/testing/random.h) for arrow c++ test data generator). Other libraries that use PyArrow could use such kernels too (e.g. Pandas uses NumPy).
We have a kernel for producing [random float64s](https://arrow.apache.org/docs/cpp/compute.html#random-number-generation) ([PR](https://github.com/apache/arrow/pull/11864)), but lack kernels for other types.
API-wise we could either expand [RandomOptions](https://arrow.apache.org/docs/cpp/api/compute.html#_CPPv4N5arrow7compute13RandomOptionsE) with parameters for different types and use `pyarrow.compute.random` kernel or provide new kernels e.g. `pyarrow.compute.random_string`.
### Component(s)
C++
Contributor guide
Assessment
This issue has not been assessed yet.