This is an automated email from the ASF dual-hosted git repository.

gangwu pushed a commit to branch production
in repository https://gitbox.apache.org/repos/asf/parquet-site.git


The following commit(s) were added to refs/heads/production by this push:
     new 76b2f6b  Update implementation status for parquet-rs (#101)
76b2f6b is described below

commit 76b2f6bef013ad5b6dd61ea1eed014a399520eda
Author: Ed Seidl <[email protected]>
AuthorDate: Tue Feb 18 17:42:55 2025 -0800

    Update implementation status for parquet-rs (#101)
---
 .../en/docs/File Format/implementationstatus.md    | 116 +++++++++++----------
 1 file changed, 59 insertions(+), 57 deletions(-)

diff --git a/content/en/docs/File Format/implementationstatus.md 
b/content/en/docs/File Format/implementationstatus.md
index 3bd1d23..4164c11 100644
--- a/content/en/docs/File Format/implementationstatus.md       
+++ b/content/en/docs/File Format/implementationstatus.md       
@@ -29,14 +29,14 @@ Implementations:
 
 | Data type                                 | C++   | Java  | Go    | Rust  | 
cuDF  |
 | ----------------------------------------- | ----- | ----- | ----- | ----- | 
----- |
-| BOOLEAN                                   |  ✅   |  ✅   |       |       |  ✅ 
  |
-| INT32                                     |  ✅   |  ✅   |       |       |  ✅ 
  |
-| INT64                                     |  ✅   |  ✅   |       |       |  ✅ 
  |
-| INT96 (1)                                 |  ✅   |  ✅   |       |       |  ✅ 
  |
-| FLOAT                                     |  ✅   |  ✅   |       |       |  ✅ 
  |
-| DOUBLE                                    |  ✅   |  ✅   |       |       |  ✅ 
  |
-| BYTE_ARRAY                                |  ✅   |  ✅   |       |       |  ✅ 
  |
-| FIXED_LEN_BYTE_ARRAY                      |  ✅   |  ✅   |       |       |  ✅ 
  |
+| BOOLEAN                                   |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| INT32                                     |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| INT64                                     |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| INT96 (1)                                 |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| FLOAT                                     |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| DOUBLE                                    |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| BYTE_ARRAY                                |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| FIXED_LEN_BYTE_ARRAY                      |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
 
 * \(1) This type is deprecated, but as of 2024 it's common in currently 
produced parquet files
 
@@ -45,25 +45,25 @@ Implementations:
 
 | Data type                                 | C++   | Java  | Go    | Rust  | 
cuDF  |
 | ----------------------------------------- | ----- | ----- | ----- | ----- | 
----- |
-| STRING                                    |  ✅   |  ✅   |       |       |  ✅ 
  |
-| ENUM                                      |  ❌   |  ✅   |       |       |  ❌ 
  |
-| UUID                                      |  ❌   |  ✅   |       |       |  ❌ 
  |
-| 8, 16, 32, 64 bit signed and unsigned INT |  ✅   |  ✅   |       |       |  ✅ 
  |
-| DECIMAL (INT32)                           |  ✅   |  ✅   |       |       |  ✅ 
  |
-| DECIMAL (INT64)                           |  ✅   |  ✅   |       |       |  ✅ 
  |
-| DECIMAL (BYTE_ARRAY)                      |  ✅   |  ✅   |       |       |  ✅ 
  |
-| DECIMAL (FIXED_LEN_BYTE_ARRAY)            |  ✅   |  ✅   |       |       |  ✅ 
  |
-| DATE                                      |  ✅   |  ✅   |       |       |  ✅ 
  |
-| TIME (INT32)                              |  ✅   |  ✅   |       |       |  ✅ 
  |
-| TIME (INT64)                              |  ✅   |  ✅   |       |       |  ✅ 
  |
-| TIMESTAMP (INT64)                         |  ✅   |  ✅   |       |       |  ✅ 
  |
-| INTERVAL                                  |  ✅   |  ✅(*)|       |       |  ❌ 
  |
-| JSON                                      |  ✅   |  ✅(*)|       |       |  ❌ 
  |
-| BSON                                      |  ❌   |  ✅(*)|       |       |  ❌ 
  |
-| LIST                                      |  ✅   |  ✅   |       |       |  ✅ 
  |
-| MAP                                       |  ✅   |  ✅   |       |       |  ✅ 
  |
-| UNKNOWN (always null)                     |  ✅   |  ✅   |       |       |  ✅ 
  |
-| FLOAT16                                   |  ✅   |  ✅(*)|       |       |  ✅ 
  |
+| STRING                                    |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| ENUM                                      |  ❌   |  ✅   |       |  ✅(*)|  ❌  
 |
+| UUID                                      |  ❌   |  ✅   |       |  ✅(*)|  ❌  
 |
+| 8, 16, 32, 64 bit signed and unsigned INT |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| DECIMAL (INT32)                           |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| DECIMAL (INT64)                           |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| DECIMAL (BYTE_ARRAY)                      |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| DECIMAL (FIXED_LEN_BYTE_ARRAY)            |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| DATE                                      |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| TIME (INT32)                              |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| TIME (INT64)                              |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| TIMESTAMP (INT64)                         |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| INTERVAL                                  |  ✅   |  ✅(*)|       |  ✅   |  ❌  
 |
+| JSON                                      |  ✅   |  ✅(*)|       |  ✅(*)|  ❌  
 |
+| BSON                                      |  ❌   |  ✅(*)|       |  ✅(*)|  ❌  
 |
+| LIST                                      |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| MAP                                       |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| UNKNOWN (always null)                     |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| FLOAT16                                   |  ✅   |  ✅(*)|       |  ✅   |  ✅  
 |
 
 (*): Only supported to use its annotated physical type
 
@@ -71,40 +71,42 @@ Implementations:
 
 | Encoding                                  | C++   | Java  | Go    | Rust  | 
cuDF  |
 | ----------------------------------------- | ----- | ----- | ----- | ----- | 
----- |
-| PLAIN                                     |  ✅   |  ✅   |       |       |  ✅ 
  |
-| PLAIN_DICTIONARY                          |  ✅   |  ✅   |       |       |  ✅ 
  |
-| RLE_DICTIONARY                            |  ✅   |  ✅   |       |       |  ✅ 
  |
-| RLE                                       |  ✅   |  ✅   |       |       |  ✅ 
  |
-| BIT_PACKED (deprecated)                   |  ✅   |  ✅   |       |       |  
(R)  |
-| DELTA_BINARY_PACKED                       |  ✅   |  ✅   |       |       |  ✅ 
  |
-| DELTA_LENGTH_BYTE_ARRAY                   |  ✅   |  ✅   |       |       |  ✅ 
  |
-| DELTA_BYTE_ARRAY                          |  ✅   |  ✅   |       |       |  ✅ 
  |
-| BYTE_STREAM_SPLIT                         |  ✅   |  ✅   |       |       |  ✅ 
  |
+| PLAIN                                     |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| PLAIN_DICTIONARY                          |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| RLE_DICTIONARY                            |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| RLE                                       |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| BIT_PACKED (deprecated)                   |  ✅   |  ✅   |       |  ❌(*)|  
(R)  |
+| DELTA_BINARY_PACKED                       |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| DELTA_LENGTH_BYTE_ARRAY                   |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| DELTA_BYTE_ARRAY                          |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| BYTE_STREAM_SPLIT                         |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+
+(*): Partial read support, but only in the case of level data with a bitwidth 
of 0
 
 ### Compressions
 
 | Compression                               | C++   | Java  | Go    | Rust  | 
cuDF  |
 | ----------------------------------------- | ----- | ----- | ----- | ----- | 
----- |
-| UNCOMPRESSED                              |  ✅   |  ✅   |       |       |  ✅ 
  |
-| BROTLI                                    |  ✅   |  ✅   |       |       |  
(R)  |
-| GZIP                                      |  ✅   |  ✅   |       |       |  
(R)  |
-| LZ4 (deprecated)                          |  ✅   |  ❌   |       |       |  ❌ 
  |
-| LZ4_RAW                                   |  ✅   |  ✅   |       |       |  ✅ 
  |
-| LZO                                       |  ❌   |  ❌   |       |       |  ❌ 
  |
-| SNAPPY                                    |  ✅   |  ✅   |       |       |  ✅ 
  |
-| ZSTD                                      |  ✅   |  ✅   |       |       |  ✅ 
  |
+| UNCOMPRESSED                              |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| BROTLI                                    |  ✅   |  ✅   |       |  ✅   |  
(R)  |
+| GZIP                                      |  ✅   |  ✅   |       |  ✅   |  
(R)  |
+| LZ4 (deprecated)                          |  ✅   |  ❌   |       |  ✅   |  ❌  
 |
+| LZ4_RAW                                   |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| LZO                                       |  ❌   |  ❌   |       |  ❌   |  ❌  
 |
+| SNAPPY                                    |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| ZSTD                                      |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
 
 ### Other format level features
 
 |                                           | C++   | Java  | Go    | Rust  | 
cuDF  |
 | ----------------------------------------- | ----- | ----- | ----- | ----- | 
----- |
-| xxHash-based bloom filters                |  (R)  |  ✅   |       |       |  
(R)  |
-| Bloom filter length (1)                   |  (R)  |  ✅   |       |       |  
(R)  |
-| Statistics min_value, max_value           |  ✅   |  ✅   |       |       |  ✅ 
  |
-| Page index                                |  ✅   |  ✅   |       |       |  ✅ 
  |
-| Page CRC32 checksum                       |  ✅   |  ✅   |       |       |  ❌ 
  |
-| Modular encryption                        |  ✅   |  ✅   |       |       |  ❌ 
  |
-| Size statistics (2)                       |  ✅   |  ✅   |       |       |  ✅ 
  |
+| xxHash-based bloom filters                |  (R)  |  ✅   |       |  ✅   |  
(R)  |
+| Bloom filter length (1)                   |  (R)  |  ✅   |       |  ✅   |  
(R)  |
+| Statistics min_value, max_value           |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| Page index                                |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
+| Page CRC32 checksum                       |  ✅   |  ✅   |       |  ✅   |  ❌  
 |
+| Modular encryption                        |  ✅   |  ✅   |       |  ❌   |  ❌  
 |
+| Size statistics (2)                       |  ✅   |  ✅   |       |  ✅   |  ✅  
 |
 
 
 * \(1) In parquet.thrift: ColumnMetaData->bloom_filter_length
@@ -115,12 +117,12 @@ Implementations:
 
 | Format                                       | C++   | Java  | Go    | Rust  
| cuDF  |
 | -------------------------------------------- | ----- | ----- | ----- | ----- 
| ----- |
-| External column data (1)                     |  ✅   |  ✅   |       |       | 
 (W)  |
-| Row group "Sorting column" metadata (2)      |  ✅   |  ❌   |       |       | 
 (W)  |
-| Row group pruning using statistics           |  ❌   |  ✅   |       |       | 
 ✅   |
-| Row group pruning using bloom filter         |  ❌   |  ✅   |       |       | 
 ✅   |
-| Reading select columns only                  |  ✅   |  ✅   |       |       | 
 ✅   |
-| Page pruning using statistics                |  ❌   |  ✅   |       |       | 
 ❌   |
+| External column data (1)                     |  ✅   |  ✅   |       |  ❌   |  
(W)  |
+| Row group "Sorting column" metadata (2)      |  ✅   |  ❌   |       |  ✅   |  
(W)  |
+| Row group pruning using statistics           |  ❌   |  ✅   |       |  ✅   |  
✅   |
+| Row group pruning using bloom filter         |  ❌   |  ✅   |       |  ✅   |  
✅   |
+| Reading select columns only                  |  ✅   |  ✅   |       |  ✅   |  
✅   |
+| Page pruning using statistics                |  ❌   |  ✅   |       |  ✅   |  
❌   |
 
 
 * \(1) In parquet.thrift: ColumnChunk->file_path

Reply via email to