Hi community,


After a long time of development, I'm honor to announce that we have just
completed C++ parquet encryption module which implements encryption in low
level api and with examples included.



To have this feature completed, I would like to thank Gidon and Revital for
their contribution.

Gidon had a key role in encryption design and in writing Java version code
on which we based on to write C++ version. He also wrote crypto package in
C++ version.

Revital and me has been joining together in writing C++ version. Revital
was responsible for AAD calculations, API updating (to be the same with
Java version) and Java-C++ inter-operation testing. I was writing the first
draft (properties, metadata, writer, reader) and keeping them updated when
crypto package change.

We have had a great time to cooperate. Thank Gidon and Revital for all
guide and experience I have received from them, too.



Here are the links of pull requests:

1) encryption module (properties, metadata, writer, reader):
https://github.com/apache/arrow/pull/2555.

2) some merged pull requests for new thrift structure and crypto algorithm,
and one still open: https://github.com/apache/arrow/pull/3520



However, in order to make (1) buildable with current build scripts, we need
“adding openssl in C++ build toolchain” which is mentioned in this jira:
https://issues.apache.org/jira/browse/ARROW-4302. I will be grateful if
someone could help fullfill this work.



About current pull requests, they has been currently using in our
development phase at Emotiv (https://www.emotiv.com/). We love using
parquet files to store EEG data. We are going to release a product with
encrypted parquet files soon and look forward to the official release of
parquet encryption feature. So it will be many thank and great honor to
have you review and merge them (if qualified).



Thank you very much!

Tham

Reply via email to