C# 如何使用C将拼花从SQL直接流式处理到S3#
我从SQL中得到一个结果,并在上传到S3之前使用C#将其写入磁盘上的本地临时拼花文件 我正在使用parquet.net库以及s3的所有标准AWS包(我相信是AWSSDK.s3) 请原谅我刚才留下伪代码的某些地方,但这是基本结构。。。我希望能够将行直接流式传输到S3,而不是首先在本地写入文件 提前谢谢C# 如何使用C将拼花从SQL直接流式处理到S3#,c#,amazon-s3,parquet,C#,Amazon S3,Parquet,我从SQL中得到一个结果,并在上传到S3之前使用C#将其写入磁盘上的本地临时拼花文件 我正在使用parquet.net库以及s3的所有标准AWS包(我相信是AWSSDK.s3) 请原谅我刚才留下伪代码的某些地方,但这是基本结构。。。我希望能够将行直接流式传输到S3,而不是首先在本地写入文件 提前谢谢 using (var parquetWriter = new ParquetWriter(parquetSchema, fileStream)) { var parquetTable = n
using (var parquetWriter = new ParquetWriter(parquetSchema, fileStream))
{
var parquetTable = new Parquet.Data.Rows.Table(parquetSchema);
foreach(object[] data in dataset)
{
//prepare data for parquet schema here
parquetTable.Add(data);
if (parquettablesize >= number of rows I want to write at one time)
{
parquetWriter.Write(parquetTable);
parquetTable = new Parquet.Data.Rows.Table(parquetSchema); //cant reuse the same object
}
}
// write whatever is left here
if (parquetTable.Count > 0)
parquetWriter.Write(parquetTable);
using (var fileStream = new FileStream(tempFile, FileMode.Open))
{
//upload the file to my S3 location
}
}
不久前,我试图解决一个类似的问题,但找不到任何干净简单的解决方案。中间文件或内存流是一种方法。代码最少,出错的可能性最小。@OptionalOption这很不幸……不久前我试图解决一个类似的问题,但找不到任何干净简单的解决方案。中间文件或内存流是一种方法。代码最少,出错的可能性最小。@OptionalOption这是不幸的。。。