Alterando os dados de entrada no logstash usando um filtro

Eu tenho meus dados de entrada de uma tabela. Os dados da tabela se parecem<Customer_id> <Item_id> <Item name>. Para cada item trazido pelo cliente, há uma linha separada na tabela. Por exemplo, se c1 comprar i1, i2, i3, i4, i5, ele terá 5 linhas na tabela.

Agora, os dados que eu quero inserir na elasticsearch são desta forma:

{
  "c1": [
    {
      "item_id": "i1",
      "item_name": "ABC"
    },
    {
      "item_id": "i2",
      "item_name": "XYZ"
    },
    .....
  ],
  "c2": [
    {
      "item_id": 4,
      "item_name": "PQR"
    }
  ]
}

Como posso modificar a entrada como acima no logstash?

Além disso, meu esquema se parece com isso:

Item: item_id, item_name

Comprar: cust_id, item_id

Você também pode sugerir que a consulta SQL seja feita para obter a saída acima?

questionAnswers(1)

yourAnswerToTheQuestion