0

编辑:仍然离答案更近了。帮助表示赞赏...

我的公司有一些包含我需要的数据的简单列表,并且我们已经在数据湖中拥有这些 .parquet 格式的列表。(编辑:第二代)

我应该构建一个使用这些列表中的一些信息的小型 PowerApp,但我无法弄清楚通过 Flow 获取它们的内容的正确方法。

有一个连接器“Azure Blob 存储:获取 Blob 内容”,听起来很正确,并且确实输出了一个神秘的内容字符串。但是我如何从这个到一个可以使用这些项目的实际可读的表?或者这是错误的连接器?

(对所有这些微软的东西都很新。对这个数据湖是如何设置的等一无所知。不确定这是否有帮助,但基本上下面的 Python 脚本可以工作,这正是我需要通过 Flow 做的,所以它可以每天自动完成:)

import os
from io import BytesIO
import pandas as pd
from azure.storage.blob import BlobServiceClient, BlobClient
from azure.storage.blob import ContentSettings, ContainerClient

blob = BlobClient.from_connection_string(MY_CONNECTION_STRING, "myContainer", "myFile.parquet")
df = pd.read_parquet(BytesIO(blob.download_blob().readall()))

谢谢你的帮助 :)

澄清一下:我绝对不必使用这个确切的过程。如果你告诉我“标准方法是在数据湖之上构建一个 python REST Api 来回答这个问题,那很好。我只需要知道访问数据湖中数据的最简单和最标准的方法)

4

2 回答 2

0

由于您的数据位于 ADLS Gen2 中,因此我认为您没有可以为此在 Power Automate 中转换 Parquet 数据的直接连接器。

我不会费心在自动化中摄取和转换镶木地板文件,因为您在这个阶段接近对 ETL 工具的要求。

我会考虑使用 Azure 数据工厂管道转换文件,并可能将它们转储到您选择的数据库中。然后电源自动化可以从那里选择它,因为它有连接到大多数数据库的连接器。如果数据库对您的设置来说太过分了,您也可以将它们转换为 CSV 文件。

我会使用电源自动化作为我的编排层。它将调用此数据工厂管道 > 等待它完成 > 从那里选择它。

https://docs.microsoft.com/en-us/azure/data-factory/format-parquet

https://docs.microsoft.com/en-au/connectors/azuredatafactory/#actions

于 2021-06-09T20:58:16.697 回答
0

如果 Azure Data Lake 是 Gen1,则不需要 Power Automate 来访问它。可以使用 Azure Data Lake 连接器直接从画布应用 PowerApp 转到。

https://docs.microsoft.com/en-us/connectors/azuredatalake/

您可以调用 ReadFile 操作来读取文件的内容。这将返回一个二进制文件,然后您只需将其转换为字符串并从那里开始工作。

于 2021-04-21T19:36:51.703 回答