json処理ツールjq
7326 ワード
@ 2018-03-01
jqツールはJSONの正当性をチェックし、JSONをより友好的で読みやすいフォーマットにフォーマットすることができます.
混乱したJSONをより読み取り可能な形式にフォーマットし、元のjsonファイルjsonTestデータは以下の通りです.
{"_location":"(32.121, 45.262)","_ip":"2.12.1.211","_action":"click button","_uid":"694666ee-8918-48f8-bb92-0a756a3f1f31","_timestamp":"1496999163163"}
{"_location":"(32.121, 45.262)","_ip":"7.12.1.211","_action":"click button","_uid":"868be529-f59e-4f16-8ea5-08c4612ede9a","_timestamp":"1496999164165"}
{"_location":"(32.121, 45.262)","_ip":"2.12.1.211","_action":"click button","_uid":"49b63380-2a5a-453d-aa5b-57e74cd1a8d7","_timestamp":"1496999165170"}
{"_location":"(32.121, 45.262)","_ip":"3.12.1.211","_action":"click button","_uid":"60fd093a-9f6a-4716-81c6-72a5f07d3b4f","_timestamp":"1496999166171"}
{"_location":"(32.121, 45.262)","_ip":"3.12.1.211","_action":"click button","_uid":"056cf558-56b1-4312-aba1-0b0eb71ba78e","_timestamp":"1496999167172"}
{"_location":"(32.121, 45.262)","_ip":"8.12.1.211","_action":"click button","_uid":"a2ecd34c-5458-43a2-b851-89eb6b3985ae","_timestamp":"1496999168174"}
cat jsonTest|jqを使用する.その後のjsonデータフォーマットは次のとおりです.
{
"_timestamp": "1496999163163",
"_uid": "694666ee-8918-48f8-bb92-0a756a3f1f31",
"_action": "click button",
"_ip": "2.12.1.211",
"_location": "(32.121, 45.262)"
}
{
"_timestamp": "1496999164165",
"_uid": "868be529-f59e-4f16-8ea5-08c4612ede9a",
"_action": "click button",
"_ip": "7.12.1.211",
"_location": "(32.121, 45.262)"
}
......
Hiveのjsonはjsonファイルinfoのような1行1行のjson列である必要がある場合がある.jsonの元のデータは以下の通りです.
{
"generated_on": "2017-12-03 08:41:42.057563",
"slice": "0-999",
"version": "v1"
}
cat infoを使用します.json | jq -c .次のデータが得られます.
{"version":"v1","slice":"0-999","generated_on":"2017-12-03 08:41:42.057563"}
jqの操作ドキュメントは参照可能https://stedolan.github.io/jq/manual/