Skip to content

Commit 6f7a75a

Browse files
committed
#415 Add info about the new feature to README.
1 parent 1104279 commit 6f7a75a

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1663,6 +1663,34 @@ The output looks like this:
16631663

16641664
`common_extended`, `cp037_extended` are code pages supporting non-printable characters that converts to ASCII codes below 32.
16651665

1666+
## EBCDIC Writer (experimental)
1667+
1668+
Cobrix's EBCDIC writer is an experimental feature that allows writing Spark DataFrames as EBCDIC mainframe files.
1669+
1670+
### Usage
1671+
```scala
1672+
df.write
1673+
.format("cobol")
1674+
.mode(SaveMode.Overwrite)
1675+
.option("copybook_contents", copybookContents)
1676+
.save("/some/output/path")
1677+
```
1678+
1679+
### Current Limitations
1680+
The writer is still in its early stages and has several limitations:
1681+
- Nested GROUPs are not supported. Only flat copybooks can be used, for example:
1682+
```cobol
1683+
01 RECORD.
1684+
05 FIELD_1 PIC X(1).
1685+
05 FIELD_2 PIC X(5).
1686+
```
1687+
- Only `PIC X(n)` fields are supported; numeric types are not.
1688+
- Only fixed record length output is supported (`record_format = F`).
1689+
- `REDEFINES` and `OCCURS` are not supported.
1690+
- Only the core EBCDIC encoder is supported; specific EBCDIC code pages are not yet available.
1691+
- Save mode `append` is not supported; only `overwrite` is.
1692+
- Partitioning by DataFrame fields is not supported.
1693+
16661694
## Performance Analysis
16671695

16681696
Performance tests were performed on synthetic datasets. The setup and results are as follows.

0 commit comments

Comments
 (0)