解决方案背景:我们有设备发送遥测数据在一分钟的时间间隔到事件中心,它被存储为avro文件。对于cold path,我们计划将数据(存储3年数据所需的总存储容量为80 tb)存储到azure data lake gen2中。我们需要从这个数据存储中查询数据集,从我们的web api中运行带有过滤器、时间跨度等的查询,这些api将数据提供给azure中的angular web应用程序。
在我们的webapi项目中,当数据以json格式存储在azuredatalake中时,我们可以使用azuredatalake的查询加速功能,使用c#和sql语法来查询数据。但是,为了最小化存储大小并获得更好的查询性能,建议在将数据存储到azure数据湖时使用parquet文件格式。
问题1:挑战是,同一个.net sdk(azure.storage.files.datalake)在查询数据时不支持Parquet文件格式,还是不支持?
我还检查了“.net for apache spark”以了解.net中的大数据处理,但是它运行时需要安装jre和其他组件,我只能找到控制台应用程序的示例。不是将在azure中部署的web api。
问题2:有人知道这件事吗?
问题3:有点主观,但有没有其他方法来存储和获取大数据使用熟悉的sql在.NETWebAPI从azure数据湖?
2条答案
按热度按时间svdrlsy41#
https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/query-parquet-files
这给出了如何使用sql查询Parquet文件。
bn31dyow2#
您可以将parquet.net作为在.net中查询parquet文件的一个选项。
您还可以评估查询加速、azure data explorer或synapse analytics on-demand sql(示例语法)。