Apache Arrow 1.0
Parquet/arrow is a great format for Pandas - fast and nicely compact in terms of file size for those of us who don't have the luxury of directly attached NVMe SSDs and where I/O bottlenecks are a consideration.Even after issues with its inability to map datetime64 values properly, I was reasonably happy with my design choice.I became less happy on discovering that it's very weak as an   interchange format for cross-language work.In my case I wanted to use some existing JVM-based tooling.  This caused huge pain.  The Jvm/Java library/API is a complete mess, sorry, and if people are complaining about the Python/C++ documentation, there's basically nothing for the Java library.  
It's barely useable and the dependencies are horrific - the whole thing is mingled with hadoop dependencies - even the API itself.And the API is barely above exposing the file-format.  Nothing like "load this parquet file" into some object which you can then query for it's contents - you're dealing with blocks and sections and other file-format level entities.The other issue is caused its flexibility - for example Panda's dataframes are written with what's effectively a bunch of "extension metadata" which means it works great for reading and writing pandas from Python but don't expect anything to be able to work with the files out-of-the-box in other languages.In the end, the only way I could get reliable reading and writing from the JVM was to only store numeric and string data from the Python side.  Even then it feels flakey - with a bunch of hadoop warnings and deprecation warnings.  I know the JVM has little appreciation in the data science world which is maybe a reason for the sorry state of the Java library.Edit: to be specific, I am talking about my experiences with Arrow/Parquet.