【问题标题】:Save as .PARQUET file in Logic App workflow在逻辑应用工作流中另存为 .PARQUET 文件
【发布时间】:2021-09-28 03:37:36
【问题描述】:

如何将运行查询并列出结果的输出文件保存为.PARQUET文件格式。

这是我目前的工作流程。

我的逻辑应用程序正在运行,但创建的文件 .parquet 每次在 Apache Parquet Viewer 上查看时都无效

有人可以帮我解决这个问题。谢谢!

输出:

【问题讨论】:

  • 您是否观察到任何无效的特殊情况?
  • 感谢@SwethaKandikonda-MT 的回复,特殊情况是什么意思?

标签: azure-logic-apps


【解决方案1】:

我看到您正在尝试将 .parquet 添加到您收到的 csv 文件中,但这不是将其转换为 parquet 文件的方式。

您可以尝试的解决方法之一是获取 csv 文件,然后添加可以转换为 parquet 文件的 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\repos\ParquetConsoleApp\ParquetConsoleApp\bin\Debug\netcoreapp3.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\repos\ParquetConsoleApp\ParquetConsoleApp\bin\Debug\netcoreapp3.1\" + blobClient.Name))
{
        using (var w = new ChoParquetWriter(@"C:\Users\<USER NAME>\source\repos\ParquetConsoleApp\ParquetConsoleApp\bin\Debug\netcoreapp3.1\convertedParquet.parquet"))
        {
            w.Write(r);
            w.Close();
         }
}

在此步骤之后,您可以发布到您的 azure 函数并将 Azure 函数连接器添加到您的逻辑应用

您可以跳过前 2 个步骤(即读取和下载 blob)并直接从逻辑应用获取 blob 并将其发送到您的 azure 函数,并按照与上述相同的方法进行操作。生成的 parquet 文件将在此路径中。

C:\Users\<USERNAME>\source\repos\ParquetConsoleApp\ParquetConsoleApp\bin\Debug\netcoreapp3.1\convertedParquet.parquet

这里的convertedParquet.parquet 是拼花文件的名称。现在您可以在 Apache Parquet reader 中读取转换后的 parquet 文件了。

这是输出

【讨论】:

    猜你喜欢
    • 2021-07-05
    • 2017-08-28
    • 2018-02-05
    • 1970-01-01
    • 2019-03-08
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    相关资源
    最近更新 更多