Запрос информации об инвентаре S3 в Афине
У меня есть данные инвентаризации 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 ответ
Решение
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