Azure Synapse 无服务器 - SQL 查询每个文件目录中的 return 行
Azure Synapse Serverless - SQL query to return rows in directory for each file
我有一个 Azure Data Lake Gen2 容器,其中有几个 json 文件。我想写一个查询 returns 每个文件的记录。我对解析文件不感兴趣,我只想知道那里有哪些文件并在视图中返回这些文件。有没有人对我如何做到这一点有任何提示?我发现的所有内容都是关于如何 parse/read 文件的...我将让 Power BI 这样做,因为 json 格式不是标准格式。在这种情况下,我只需要一个文件列表。谢谢!
您可以在 Azure Synapse Analytics 无服务器 SQL 池中使用 filepath()
和 filename()
函数来 return 那些。您甚至可以 GROUP BY
将它们 return 汇总结果。一个简单的例子:
SELECT
[result].filepath() AS filepath,
[result].filename() AS filename,
COUNT(*) AS records
FROM
OPENROWSET(
BULK 'https://azureopendatastorage.blob.core.windows.net/nyctlc/yellow/puYear=2019/puMonth=4/*.parquet',
FORMAT = 'PARQUET'
) AS [result]
GROUP BY [result].filepath(), [result].filename()
有关更多示例,请参阅 documentation。
我有一个 Azure Data Lake Gen2 容器,其中有几个 json 文件。我想写一个查询 returns 每个文件的记录。我对解析文件不感兴趣,我只想知道那里有哪些文件并在视图中返回这些文件。有没有人对我如何做到这一点有任何提示?我发现的所有内容都是关于如何 parse/read 文件的...我将让 Power BI 这样做,因为 json 格式不是标准格式。在这种情况下,我只需要一个文件列表。谢谢!
您可以在 Azure Synapse Analytics 无服务器 SQL 池中使用 filepath()
和 filename()
函数来 return 那些。您甚至可以 GROUP BY
将它们 return 汇总结果。一个简单的例子:
SELECT
[result].filepath() AS filepath,
[result].filename() AS filename,
COUNT(*) AS records
FROM
OPENROWSET(
BULK 'https://azureopendatastorage.blob.core.windows.net/nyctlc/yellow/puYear=2019/puMonth=4/*.parquet',
FORMAT = 'PARQUET'
) AS [result]
GROUP BY [result].filepath(), [result].filename()
有关更多示例,请参阅 documentation。