Reputation: 29
As per the link, i'm able to pass parquet file from my local folder and able to convert the data into json format. Below is sample code
MemoryStream jsonMs = new MemoryStream();
using (var r = new ChoParquetReader(FILE_NAME))
{
using (var w = new ChoJSONWriter(jsonMs))
w.Write(r);
}
Could any one help me out on how to pass file path which is present in Azure blob? Thanks in advance.
Upvotes: 0
Views: 313
Reputation: 6332
As ChoParquetReader
accepts any memorystream as input, just open Azure blob for read and pass it to reader.
for your reference, this sample may helps
METHOD 1:
BlobServiceClient blobServiceClient = new BlobServiceClient("connectionString");
var desContainer = blobServiceClient.GetBlobContainerClient("containerName");
var desBlob= desContainer.GetBlockBlobClient("PARQUET file");
using (var inStream = await desBlob.OpenReadAsync(true).ConfigureAwait(false))
using (ChoParquetReader parser = new ChoParquetReader(inStream)
.Configure(c => DetectEncodingFromByteOrderMarks = false)
)
{
}
METHOD 2:
BlobServiceClient blobServiceClient = new BlobServiceClient("connectionString");
var desContainer = blobServiceClient.GetBlobContainerClient("containerName");
var desBlob = desContainer.GetBlockBlobClient("PARQUET file");
using (var inStream = await desBlob.OpenReadAsync(true).ConfigureAwait(false))
using (ChoParquetReader parser = new ChoParquetReader().Load(new StreamReader(inStream)))
{
}
PS: code is not tested.
Upvotes: 0