Запрос информации об инвентаре S3 в Афине - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть данные инвентаризации S3 в корзине S3, и я запрашиваю их через Афину.

Мои первые два столбца показаны ниже:

bucket                  key
bke-p0d-bke-lca-data    dl/xxxxxx/plant/archive/01-01-2019/1546300856.json
bke-pod-bke-lca-data    dl/xxxx/plant/archive/01-01-2019/1546300856.json
bke-pod-bke-lca-data    dl/xxx/plant/archive/01-01-2019/1546300856.json

Они нужны мне для разделения ключевой информацииниже:

bucket                  Categ   Type    Date        File
bke-pod-bke-lca-data    xxxxxx  archive 01/01/2019  1546300856.json
bke-pod-bke-lca-data    xxxx    working 01/01/2019  1546300856.json
bke-pod-bke-lca-data    xxx     archive 01/01/2019  1546300856.json

Я пытался substr, это не сработало.

Как я делю сплит на основе /?

1 Ответ

0 голосов
/ 21 февраля 2019

6,8.Строковые функции и операторы - Документация Presto 0.172 имеет:

split_part(string, delimiter, index) Разбивает string на delimiter и возвращает поле index.Индексы полей начинаются с 1.Если индекс больше, чем количество полей, возвращается ноль.

Итак, вы должны иметь возможность использовать что-то вроде:

SELECT
  bucket,
  split_part(key, '/', 2) as category,
  split_part(key, '/', 4) as type,
  split_part(key, '/', 5) as date,
  split_part(key, '/', 6) as file
...