有没有办法使用C#以Apache Parquet格式序列化数据,我无法找到任何实现。在官方的Parquet文档中,据说" Thrift也可以编码成任何其他节俭支持的语言。"但我不确定这究竟意味着什么。
由于
答案 0 :(得分:6)
我们已经开始为Apache Parquet的.NET实现开源项目,欢迎任何人加入。 https://github.com/elastacloud/parquet-dotnet
答案 1 :(得分:4)
我们刚刚开源了围绕Apache Parquet C ++的.NET包装器。与Parquet.NET(后者是纯.NET实现)相比,这是一种不同的方法。
欢迎您尝试一下并分享您的反馈: https://github.com/G-Research/ParquetSharp
答案 2 :(得分:0)
不,没有。我花了一个星期的时间为.NET编写自己的镶木地板编写器,它太复杂了,需要更多的时间。我最终使用Python和fastparquet库在Hadoop集群之外进行任何处理。我必须说fastparquet是一项了不起的工作并且非常容易使用,但是缺少许多功能,即嵌套列和有效附加到文件的能力。没有提到对Python3的依赖,这可能是一个令人头痛的部署。
您可以在C#中生成Thrift协议,但这并不能让您走得太远,只是意味着您的输出将与Parquet规范兼容。
我仍然热衷于为.NET Core / .NET 4.5创建一个开源Parquet库,所以如果有人热衷合作,请告诉我。