У меня есть корзина S3, которая содержит CSV-файлы (см. «Пример данных»).
Файлы были созданы в результате запроса Athena.
Я хочу обработать 'timeстолбец как десятичное число (17,7) и столбец размера как bigint.
Я определяю таблицу (см. «Определение таблицы») и, используя запрос (см. «Запрос» ниже), получаю «Ошибка 'ниже.
Мои вопросы :
Есть ли способ управления форматом вывода запроса Athena и получения csv без кавычек вокруг полей?(1545980216.9581780,1349 против "1545980216.9581780", "1349")
Предполагается, что ответ на предыдущий вопрос отрицательный.Как я могу запросить данные в таблице «del_me_later_4» и обработать поля как десятичные и bigint.
Образец данных
"time","size"
"1545751457.8957720","432"
"1545751458.0753407","583"
"1545751458.1407920","583"
"1545751458.1683733","560"
Определение таблицы
CREATE EXTERNAL TABLE `del_me_later_4`(
`time` string,
`size` string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
's3://del-me-later/'
TBLPROPERTIES (
'skip.header.line.count'='1'
)
Запрос
SELECT cast(time AS decimal(17,7)) as time,
cast(size AS bigint) as size
FROM "del_me_later_4"
Ошибка
INVALID_CAST_ARGUMENT: Cannot cast VARCHAR '"1545751457.8957720"' to DECIMAL(17, 7)