在Logic App工作流中另存为.PARQUET文件 [英] Save as .PARQUET file in Logic App workflow
本文介绍了在Logic App工作流中另存为.PARQUET文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何以.PARQUET文件格式保存运行查询并列出结果中的输出文件。
这是我当前的工作流。
My Logic App正在运行,但每次在ApacheParquet查看器中查看创建的.parket文件时,该文件都无效
有人能在这件事上帮我忙吗?谢谢!推荐答案
我看到您正在尝试将.parket添加到您正在接收的csv文件中,但它不会以这种方式转换为拼图文件。
您可以尝试的解决方法之一是获取CSV文件,然后添加可转换为拼图文件的Azure函数,然后将Azure函数添加到逻辑应用程序。
以下是为我工作的函数:
BlobServiceClient blobServiceClient = new BlobServiceClient("<YOUR CONNECTION STRING>");
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient("<YOUR CONTAINER NAME>");
BlobClient blobClient = containerClient.GetBlobClient("sample.csv");
//Download the blob
Stream file = File.OpenWrite(@"C:Users<USER NAME>source
eposParquetConsoleAppParquetConsoleAppinDebug
etcoreapp3.1" + blobClient.Name);
await blobClient.DownloadToAsync(file);
Console.WriteLine("Download completed!");
file.Close();
//Read the downloaded blob
Stream file1 = new FileStream(blobClient.Name, FileMode.Open);
Console.WriteLine(file1.ReadToEnd());
file1.Close();
//Convert to parquet
ChoParquetRecordConfiguration csv = new ChoParquetRecordConfiguration();
using (var r = new ChoCSVReader(@"C:Users<USER NAME>source
eposParquetConsoleAppParquetConsoleAppinDebug
etcoreapp3.1" + blobClient.Name))
{
using (var w = new ChoParquetWriter(@"C:Users<USER NAME>source
eposParquetConsoleAppParquetConsoleAppinDebug
etcoreapp3.1convertedParquet.parquet"))
{
w.Write(r);
w.Close();
}
}
完成此步骤后,您可以发布到您的Azure函数并将Azure函数连接器添加到您的逻辑应用程序
您可以跳过前两个步骤(即读取并下载BLOB),然后直接从逻辑应用程序获取BLOB并将其发送到您的Azure函数,然后按照上述相同的方法进行操作。生成的拼图文件将位于此路径中。C:Users<USERNAME>source
eposParquetConsoleAppParquetConsoleAppinDebug
etcoreapp3.1convertedParquet.parquet
这里convertedParquet.parquet
是镶木地板文件的名称。现在,您可以在ApacheParket阅读器中读取转换后的拼图文件。
以下是输出
这篇关于在Logic App工作流中另存为.PARQUET文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文