2017-03-19 272 views
3

我们已经在azure存储(表和blob)中以json格式压缩数据我想将数据ETL数据关联到数据库以便可以选择对数据运行sql查询 我有一个实用程序它将数据解压缩为json文件, 我通过SSIS包将其从ETL从excel转换为sql server(使用将json转换为excel后的数据透视表) 是否有更简单的方法使用splunk获得相同的目的? 请注意,我的JSON结构有点复杂 JSON例如:使用Splunk查询json数据

{ 
"columns": [ 
{ 
    "name": "database_name", 
    "values": [ 
    "sales", 
    "salesr", 
    "sal" 

    ], 
    "encd": 0, 
    "type": 0 
}, 
{ 
    "name": "machine_name", 
    "values": [ 
    "ISRVMN823", 
    "ISRVMN825", 
    "ISRVMN822" 

    ], 
    "encd": 0, 
    "type": 0 
}, 
{ 
    "name": "program_name", 
    "values": [ 
    "SQLAgent - TSQL JobStep (Job 0x8701D9C6BFB3A146B9E6AB0602F5B4C3 : Step 1)", 
    "SQLAgent - TSQL JobStep (Job 0xE3521B34CED03441B971A36E8EF5210B : Step 1)", 
    "SQLAgent - TSQL JobStep (Job 0x4BBA5C65C5AF78469A7FE9B765BE430E : Step 1)" 

    ], 
    "encd": 0, 
    "type": 0 
} 
], 
"submission_time": 1483617753706, 
"ds_id": "ISRVMN889", 
"identity_broker": "00_yr", 
"connection_name": "ISRVMN822SQL2012NY", 
"table_name": "pass_unique_stat_5m", 
"version": "1.0.0", 
"duration": 300, 
"sample_time": 1483617300000 
} 

我想要得到的东西,如关系数据库如下:

yy

或另一种方式来查询数据

谢谢

回答

0

在这里你去:)

可以忽略第一部分,这是在您的数据只有我硬编码到搜索

| makeresults 
| eval json = "{ 
\"columns\": [ 
{ 
    \"name\": \"database_name\", 
    \"values\": [ 
    \"sales\", 
    \"salesr\", 
    \"sal\" 

    ], 
    \"encd\": 0, 
    \"type\": 0 
}, 
{ 
    \"name\": \"machine_name\", 
    \"values\": [ 
    \"ISRVMN823\", 
    \"ISRVMN825\", 
    \"ISRVMN822\" 

    ], 
    \"encd\": 0, 
    \"type\": 0 
}, 
{ 
    \"name\": \"program_name\", 
    \"values\": [ 
    \"SQLAgent - TSQL JobStep (Job 0x8701D9C6BFB3A146B9E6AB0602F5B4C3 : Step 1)\", 
    \"SQLAgent - TSQL JobStep (Job 0xE3521B34CED03441B971A36E8EF5210B : Step 1)\", 
    \"SQLAgent - TSQL JobStep (Job 0x4BBA5C65C5AF78469A7FE9B765BE430E : Step 1)\" 

    ], 
    \"encd\": 0, 
    \"type\": 0 
} 
], 
\"submission_time\": 1483617753706, 
\"ds_id\": \"ISRVMN889\", 
\"identity_broker\": \"00_yr\", 
\"connection_name\": \"ISRVMN822SQL2012NY\", 
\"table_name\": \"pass_unique_stat_5m\", 
\"version\": \"1.0.0\", 
\"duration\": 300, 
\"sample_time\": 1483617300000 
}" 
| spath input=json path=columns{} | rename columns{} as cols | table cols 
| mvexpand cols 
| spath input=cols | rename values{} as values | table name values 
| transpose header_field=name | fields - column