Commit 09ed1f3
authored
Fix test_parquet_interleaved_file_splits_partition_value_alignment on GCS again [databricks] (NVIDIA#15289)
Fixes NVIDIA#15256.
### Description
`test_parquet_interleaved_file_splits_partition_value_alignment` fails
on Dataproc when the Spark temporary directory uses HDFS. The test reads
Parquet row-group metadata with PyArrow, whose HDFS filesystem
implementation uses `libhdfs` and requires the `CLASSPATH` environment
variable to contain the Hadoop JARs. Without that environment variable,
the test fails with `OSError: HDFS connection failed`.
This change replaces the PyArrow metadata reader with Spark's JVM-side
`ParquetFileReader`. It uses the active Spark session's Hadoop
configuration, allowing the helper to access files through the same
filesystem implementation Spark uses.
The row-group midpoint calculation now uses
`BlockMetaData.getStartingPos()` and
`BlockMetaData.getCompressedSize()`, which provide the same offsets and
compressed-size information used by the previous PyArrow implementation.
The Parquet reader is closed in a `finally` block.
### Checklists
Documentation
- [ ] Updated for new or modified user-facing features or behaviors
- [x] No user-facing change
Testing
- [x] Added or modified tests to cover new code paths
- [ ] Covered by existing tests
(Please provide the names of the existing tests in the PR description.)
- [ ] Not required
Performance
- [ ] Tests ran and results are added in the PR description
- [ ] Issue filed with a link in the PR description
- [x] Not required
Signed-off-by: Jihoon Son <ghoonson@gmail.com>1 parent 0ae4c23 commit 09ed1f3
3 files changed
Lines changed: 24 additions & 29 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
693 | 693 | | |
694 | 694 | | |
695 | 695 | | |
696 | | - | |
697 | | - | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
698 | 701 | | |
699 | 702 | | |
700 | 703 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1020 | 1020 | | |
1021 | 1021 | | |
1022 | 1022 | | |
1023 | | - | |
1024 | | - | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
1025 | 1028 | | |
1026 | 1029 | | |
1027 | 1030 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
| 15 | + | |
22 | 16 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
0 commit comments