Azure数据浏览器/ kusto松散键入json提取策略

时间:2018-12-21 19:50:00

标签: kusto azure-data-explorer

我想摄取一个具有扁平结构但键的可能值很多的JSONND日志文件;一些键是通用的,例如“时间”,而其他则根据日志文件消息的种类而有所不同。将此类数据导入Kusto / Azure Data Explorer的有用策略是什么?

我考虑了以下内容:

  • 仅将那些总是通用的键放入列中,并将其余的作为JSON推入“动态”数据类型中;
  • 预解析相当大的数据样本,提取所有可能的键并为每个键创建列,默认为“字符串”

1 个答案:

答案 0 :(得分:2)

一般方法应该是:

  • 您希望在查询中频繁使用的每个属性(例如,筛选条件,摘要/依据等)应位于其自己的专用且类型强(而不是'As near as I can make out this is how 'you declared your variable Dim darmadahp As Int64 Dim armadadmg As Int64 Dim dcfleet1hp As Int64 Dim damagedealt1 As Decimal 'Always check for division by zero If darmadahp * armadadmg <> 0 Then 'Option Strict (which should always be on) requires the CDec damagedealt1 = CDec(dcfleet1hp / (darmadahp * armadadmg)) End If )列中。为此,您可能会使用JSON ingestion mapping(我假设dynamic格式允许您这样做,但是总体来说我不确定您的数据看起来如何,因此您应该检查一下(如果可以的话)或update policy
  • 您希望较少访问的属性可以包含在提取到JSONND列中的属性包中(并且您可以在查询时访问它们,如here所述)。