Add merge blocks command to parquet-tools
- Ngôn ngữ chính
- Java
- Star
- 3.1k
- Fork
- 1.6k
- Merge trung bình
- 3 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 33
Mô tả
Current implementation of merge command in parquet-tools doesn't merge row groups, just places one after the other. Add API and command option to be able to merge small blocks into larger ones up to specified size limit.
###### Implementation details:
Blocks are not reordered not to break possible initial predicate pushdown optimizations.
Blocks are not divided to fit upper bound perfectly.
This is an intentional performance optimization.
This gives an opportunity to form new blocks by coping full content of smaller blocks by column, not by row.
###### Examples:
1. Input files with blocks sizes:
```java
[128 | 35], [128 | 40], [120]
```
Expected output file blocks sizes:
`merge `
```java
[128 | 35 | 128 | 40 | 120]
```
`merge -b`
```java
[128 | 35 | 128 | 40 | 120]
```
`merge -b -l 256 `
```java
[163 | 168 | 120]
```
1. Input files with blocks sizes:
```java
[128 | 35], [40], [120], [6]
```
Expected output file blocks sizes:
`merge`
```java
[128 | 35 | 40 | 120 | 6]
```
`merge -b`
```java
[128 | 75 | 126]
```
`merge -b -l 256`
```java
[203 | 126]
```
**Reporter**: [Ekaterina Galieva](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=Katya) / @kgalieva
**Assignee**: [Ekaterina Galieva](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=Katya) / @kgalieva
#### PRs and other links:
- [GitHub Pull Request #512](https://github.com/apache/parquet-mr/pull/512)
- [GitHub Pull Request #621](https://github.com/apache/parquet-mr/pull/621)
- [GitHub Pull Request #775](https://github.com/apache/parquet-mr/pull/775)
- [GitHub Pull Request #512](https://github.com/apache/parquet-mr/pull/512)
**Note**: *This issue was originally created as [PARQUET-1381](https://issues.apache.org/jira/browse/PARQUET-1381). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu với lệnh merge hiện có trong parquet-tools và API được lệnh đó sử dụng. Xem các pull request được liên kết để nắm bối cảnh triển khai trước đây, sau đó xác minh các ví dụ về kích thước block và các tùy chọn lệnh được mô tả ở đây; được coi là hoàn tất khi merge -b tạo ra các block lớn hơn mà không sắp xếp lại hoặc chia chúng vượt quá giới hạn đã chỉ định.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- cli, data-engineering
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 20/100