Azure 数据 Explorer/kusto 松散类型 json 摄取策略
Azure Data Explorer/kusto loosely typed json ingestion strategy
我想提取一个 JSONND 日志文件,它具有平面结构但有许多可能的键值;有些键很常见,例如 "time",但其他键因日志文件消息的种类而异。将此类数据提取到 Kusto/Azure Data Explorer 中的有用策略是什么?
我考虑了以下几点:
- 仅将那些始终通用的键放入列中,并将其余键作为 JSON 推入 "dynamic" 数据类型;
- 预解析相当大的数据样本,提取所有可能的键并为每个键创建列,默认为 "string"
一般的做法应该是:
- 您希望在查询中经常使用的每个 属性(例如过滤、汇总 on/by 等)都应该是专用的和强类型的(而不是
dynamic
) 柱子。为此,您可以使用 JSON ingestion mapping (I'm assuming the JSONND
format will allow you to do so, but OTOTH I'm not sure how your data looks like, so you should check if that's an option), or an update policy.
- 您希望访问频率较低的属性可以包含在 属性 包中,并摄取到
dynamic
列中(并且您可以在查询时访问它们,如前所述 here).
我想提取一个 JSONND 日志文件,它具有平面结构但有许多可能的键值;有些键很常见,例如 "time",但其他键因日志文件消息的种类而异。将此类数据提取到 Kusto/Azure Data Explorer 中的有用策略是什么?
我考虑了以下几点:
- 仅将那些始终通用的键放入列中,并将其余键作为 JSON 推入 "dynamic" 数据类型;
- 预解析相当大的数据样本,提取所有可能的键并为每个键创建列,默认为 "string"
一般的做法应该是:
- 您希望在查询中经常使用的每个 属性(例如过滤、汇总 on/by 等)都应该是专用的和强类型的(而不是
dynamic
) 柱子。为此,您可以使用 JSON ingestion mapping (I'm assuming theJSONND
format will allow you to do so, but OTOTH I'm not sure how your data looks like, so you should check if that's an option), or an update policy. - 您希望访问频率较低的属性可以包含在 属性 包中,并摄取到
dynamic
列中(并且您可以在查询时访问它们,如前所述 here).