jhorstmann / compact-thrift

Thrift IDL parser and code generator for the compact protocol
Apache License 2.0
2 stars 0 forks source link

Thrift IDL parser and code generator for the compact protocol

This is an alternative implementation of the official Apache Thrift code generator, with a focus on the compact protocol.

The initial goal of this project is to develop a more efficient rust parser for the metadata embedded in Apache Parquet files.

Higher performance is achieved by the following design decisions:

Even though the initial target language for the code generator is rust, the code generator is written in Kotlin. The reasons for this choice are:

The runtime support for the generated rust code can be found in the src/main/rust folder.

How to run

To run this code generator you will need a Java Distribution like Amazon Corretto and Apache Maven as a build tool. Once these are installed and their bin folders added to the PATH, the definitions for the included parquet.thrift can be generated by running:

$ ./generate-parquet.sh