Как я могу JSON.stringify мои значения SELECT в Presto SQL? - PullRequest
0 голосов
/ 13 мая 2018
WITH DATA AS (
  SELECT id, foo, bar
  FROM foobars
  WHERE id = 99
)

SELECT
  CONCAT('item_', CAST(id AS VARCHAR)) AS key,
  ARRAY_AGG(
    MAP(
      ARRAY[
        'id',
        'foo',
        'bar'
      ],
      ARRAY[
        CAST(id AS VARCHAR),
        CAST(foo AS VARCHAR),
        CAST(bar AS VARCHAR)
      ]
    )
  ) AS value
  FROM DATA;

Это форматирует два столбца, ключ и значение. Значение напоминает строковый объект JSON.

'key', 'value'
'item_99', '{"id": "99", "foo", "a", "bar": "b"}'

Это удобно, потому что вы можете записать это в кеш в виде строки и прочитать значение прямо в вызов функции JSON.parse.

Два выпуска:

  • Немного ограничивает необходимость ЗАКАЧИТЬ все в VARCHAR.
  • Я не могу понять, как отформатировать столбец как Массив карт.

Есть ли JSON.stringify для массива карт в Presto?

...