【问题标题】:How to process the telemetry json messages in Azure data lake Gen2?如何处理 Azure 数据湖 Gen2 中的遥测 json 消息?
【发布时间】:2019-12-14 02:10:28
【问题描述】:

我模拟了设备,这些设备正在向 IoT 中心 blob 存储发送消息,并从那里通过使用 Azure 数据工厂创建管道将数据(以 JSON 格式编码)复制到 Azure Data Lake Gen2。

如何将这些 json 输出文件转换为 CSV 文件以供数据湖引擎处理?我不能直接在 Azure Data Lake 中处理所有传入的 json 遥测数据吗?

【问题讨论】:

  • 数据湖引擎是指天蓝色数据湖分析(u-sql 脚本)吗?
  • @PeterBons 来自 Azure 数据湖分析
  • @PeterBons 感谢您的友好回答。我最近的要求已更改,如果您能建议我使用 Azure 函数将编码的传感器 json 数据处理为 csv 的其他方法,将会很有帮助。
  • 我们在谈论多少数据? azure 数据湖分析的好处是它可以很好地扩展。您可能可以创建一个event hub triggered azure function,然后编写从 Json 到 csv 的转换。但是你得到一个事件或一批事件,如果你想要一个大的 csv 文件,你需要自己将数据附加到一个文件中。

标签: azure azure-data-factory azure-data-lake azure-iot-hub


【解决方案1】:

有 3 个官方built-in extractors 可让您分析包含在 CSV、TSV 或文本文件中的数据。

但 MSFT 还在其 Azure GitHub repo 上发布了一些额外的示例提取器,用于处理 Xml、Json 和 Avro 文件。我在生产中使用了 Json 提取器,因为它非常稳定且有用。

JSON 提取器将整个输入文件视为单个 JSON 文档。如果每行都有一个 JSON 文档,请参阅下一部分。您尝试提取的列将从文档中提取。在本例中,我提取了 _id 和 Revision 属性。请注意,其中一个可能是进一步嵌套的对象,在这种情况下,您可以使用 JSON UDF 进行后续处理。

REFERENCE ASSEMBLY [Newtonsoft.Json];
REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats]; 

//Define schema of file, must map all columns
 @myRecords =
    EXTRACT
        _id string,
    Revision string     
    FROM @"sampledata/json/{*}.json"
    USING new Microsoft.Analytics.Samples.Formats.Json.JsonExtractor();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    相关资源
    最近更新 更多