У меня проблемы с созданием таблицы в Афине, которая указывает на файлы следующего формата: строка, строка, строка, массив.
когда я писал файл - я разделил элементы массива с помощью '|». Я ограничил каждую строку с помощью '\ n', а каждый столбец - с помощью ','.
, поэтому, например, строка в моем CSV будет выглядеть так:
Garfield, 15, orange, fish|milk|lasagna
в кусте (согласно документации, которую я прочитал) - при создании таблицы в формате с разделителями строк - при указании разделителей можно указать разделитель «элементов коллекции», который устанавливает разделитель между элементами в столбцах массива. Я не смог найти эквивалент для Presto в документации:
Кто-нибудь знает, возможно ли это, если да - какой формат или где я могу его найти?
Я пытался «угадать» множество форм, включая «предметы коллекции», ни одна из которых, похоже, не сработала.
CREATE EXTERNAL TABLE `cats`(
`name` string,
`age` string,
`color` string,
`foods` array<string>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
COLLECTION ITEMS TERMINATED BY '|'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
'some-location'
Буду очень признателен за любые идеи, спасибо! :)