ADLS Gen2 的 Power BI 和 parquet
Power BI and parquet at ADLS Gen2
我能够从 Power BI Desktop 连接到 ADLS Gen2 并处理 CSV 文件。
问题是这对 Parquet 格式不起作用。 您曾经在 Power BI Desktop 中使用过 parquet 吗?
添加 parquet table 后出现问题,我单击二进制引用 - Power Query 无法 read/preview parquet 数据。我尝试了和 w/o 活泼的压缩。
我也尝试手动编写查询:
let
Source = AzureStorage.DataLake("https://xxx.dfs.core.windows.net/yyy/data.parquet"),
#"File" = Source{[#"Folder Path"="https://xxx.dfs.core.windows.net/yyy/data.parquet",Name="data.parquet"]}[Content],
#"Imported File" = Parquet.Document(#"File")
in
#"Imported File"
但出现以下异常:
The name 'Parquet.Document' wasn't recognized. Make sure it's spelled
correctly.
尽管 Parquet.Document
函数 is documented。我正在使用 Poewr BI Desktop 最新版本(2019 年 12 月)。
P.S。在从 Visual Studio SSDT 为 AAS 开发 DAX 模型时,我也遇到了同样的问题。
目前,您无法在 Power BI Desktop 中直接使用 parquet 文件。您需要先利用 Azure Data Factory's wrangling data flows 之类的工具转换为 CSV 或其他可用格式。
您所指的功能似乎是专门为 this new feature in Azure Data Factory 添加的,它允许在整理数据流中使用 Parquet 文件。
Power BI 服务的数据流可能很快也会出现这种情况,但这是我的猜测。
我已经能够通过 Power BI 数据流成功读取存储在 ADLSG2 中的镶木地板文件。
很遗憾,您无法通过图形用户界面完成进度;在撰写本文时,Parquet 格式未被本地检测为源数据类型。要解决此问题,只需使用高级查询编辑器(为了进入高级编辑器,只需 select JSON 或替代数据类型,然后在高级查询编辑器中覆盖 M 代码)。
注意:这目前不适用于 2020 年 6 月版的 PowerBI Desktop。据我所知,它只能通过数据流工作:
let
Source = AzureStorage.DataLake("https://xxxxxxxxxx.dfs.core.windows.net/Container"),
Navigation = Parquet.Document(Source{[#"Folder Path" = "https://xxxxxxxxxx.dfs.core.windows.net/yourcontainer/yoursubfolder/", Name = "yourParquetFile"]}[Content]),
#"Remove columns" = Table.RemoveColumns(Navigation, Table.ColumnsOfType(Navigation, {type table, type record, type list, type nullable binary, type binary, type function}))
in
#"Remove columns"
Power BI 现在原生支持此功能。
只需将 url 粘贴到您 lake/storage 帐户上的镶木地板文件中即可。显然这要到 March 2021 才会上线,但它会出现在 2020 年 12 月的版本中。
我能够从 Power BI Desktop 连接到 ADLS Gen2 并处理 CSV 文件。
问题是这对 Parquet 格式不起作用。 您曾经在 Power BI Desktop 中使用过 parquet 吗?
添加 parquet table 后出现问题,我单击二进制引用 - Power Query 无法 read/preview parquet 数据。我尝试了和 w/o 活泼的压缩。
我也尝试手动编写查询:
let
Source = AzureStorage.DataLake("https://xxx.dfs.core.windows.net/yyy/data.parquet"),
#"File" = Source{[#"Folder Path"="https://xxx.dfs.core.windows.net/yyy/data.parquet",Name="data.parquet"]}[Content],
#"Imported File" = Parquet.Document(#"File")
in
#"Imported File"
但出现以下异常:
The name 'Parquet.Document' wasn't recognized. Make sure it's spelled correctly.
尽管 Parquet.Document
函数 is documented。我正在使用 Poewr BI Desktop 最新版本(2019 年 12 月)。
P.S。在从 Visual Studio SSDT 为 AAS 开发 DAX 模型时,我也遇到了同样的问题。
目前,您无法在 Power BI Desktop 中直接使用 parquet 文件。您需要先利用 Azure Data Factory's wrangling data flows 之类的工具转换为 CSV 或其他可用格式。
您所指的功能似乎是专门为 this new feature in Azure Data Factory 添加的,它允许在整理数据流中使用 Parquet 文件。
Power BI 服务的数据流可能很快也会出现这种情况,但这是我的猜测。
我已经能够通过 Power BI 数据流成功读取存储在 ADLSG2 中的镶木地板文件。
很遗憾,您无法通过图形用户界面完成进度;在撰写本文时,Parquet 格式未被本地检测为源数据类型。要解决此问题,只需使用高级查询编辑器(为了进入高级编辑器,只需 select JSON 或替代数据类型,然后在高级查询编辑器中覆盖 M 代码)。
注意:这目前不适用于 2020 年 6 月版的 PowerBI Desktop。据我所知,它只能通过数据流工作:
let
Source = AzureStorage.DataLake("https://xxxxxxxxxx.dfs.core.windows.net/Container"),
Navigation = Parquet.Document(Source{[#"Folder Path" = "https://xxxxxxxxxx.dfs.core.windows.net/yourcontainer/yoursubfolder/", Name = "yourParquetFile"]}[Content]),
#"Remove columns" = Table.RemoveColumns(Navigation, Table.ColumnsOfType(Navigation, {type table, type record, type list, type nullable binary, type binary, type function}))
in
#"Remove columns"
Power BI 现在原生支持此功能。
只需将 url 粘贴到您 lake/storage 帐户上的镶木地板文件中即可。显然这要到 March 2021 才会上线,但它会出现在 2020 年 12 月的版本中。