C# 如何使用.NETCore将拼花地板文件转换为CSV?
我有一个拼花文件,我正在尝试将其转换为CSV文件,似乎大多数人都建议使用Spark,但我需要使用C来完成此任务,特别是我需要使用.NET Core 3.0 这很棘手,因为拼花地板是柱状数据,这使得转换成CSV很烦人 我曾尝试将其加载到数据表中,但我不喜欢这种解决方案,因为我需要将整个文件存储在内存中,并且不知何故丢失了某些记录 我使用的是parquet.net,但我对在.NETCore/standard上工作的任何其他拼花库都是开放的C# 如何使用.NETCore将拼花地板文件转换为CSV?,c#,csv,.net-core,parquet,C#,Csv,.net Core,Parquet,我有一个拼花文件,我正在尝试将其转换为CSV文件,似乎大多数人都建议使用Spark,但我需要使用C来完成此任务,特别是我需要使用.NET Core 3.0 这很棘手,因为拼花地板是柱状数据,这使得转换成CSV很烦人 我曾尝试将其加载到数据表中,但我不喜欢这种解决方案,因为我需要将整个文件存储在内存中,并且不知何故丢失了某些记录 我使用的是parquet.net,但我对在.NETCore/standard上工作的任何其他拼花库都是开放的 提前感谢您。我还没有尝试过,但我想知道您是否可以利用/滥用M
提前感谢您。我还没有尝试过,但我想知道您是否可以利用/滥用Microsoft Spark SQL库为您带来好处 有 DataFrameReader.Parquet(字符串[]) 而且: DataFrameWriter.Csv(字符串)方法 我想知道您是否可以使用数据帧作为内存中介 现在这只是一个猜测,因为你的问题引起了我的兴趣,也许我会在睡觉后试一试。:-) 通过一个开源库,您可以轻松地将拼花文件转换为CSV 安装Nuget软件包 安装组件ChoETL.镶木地板 示例代码 使用ChoETL 有关更多信息,请访问codeproject文章 希望有帮助。也有。但一般来说,我建议使用C#以外的其他方法进行预处理。
StringBuilder csv = new StringBuilder();
using (var r = new ChoParquetReader(@"*** Your Parquet file ***")
.ParquetOptions(o => o.TreatByteArrayAsString = true)
)
{
using (var w = new ChoCSVWriter(csv)
.WithFirstLineHeader()
.UseNestedKeyFormat(false)
)
w.Write(r);
}
Console.WriteLine(csv.ToString());