Я создаю таблицу в Афине с приведенной ниже структурой
CREATE EXTERNAL TABLE s3_json_objects (
devId string,
type string,
status string
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
WITH SERDEPROPERTIES ( 'ignore.malformed.json' = 'true')
LOCATION 's3://mybucket/folder1/data/athena_test/';
Объекты S3 Bucket содержат структуру JSON, подобную этой
{
"devId": "00abcdef1122334401",
"type": "lora",
"status": "huihuhukiyg"
}
Однако ниже SQL работает правильно ивернуть правильный результат только для count
SELECT count(*) as total_s3_objects FROM "athena_db"."s3_json_objects"
НО всякий раз, когда я запрашиваю ниже оператора SQL select, чтобы получить значения JSON из S3, он возвращает результатнаборы с пустыми значениями для столбцов
SELECT devid FROM "athena_db"."s3_json_objects"
SELECT json_extract(devid , '$.devid') as Id FROM "athena_db"."s3_json_objects"
SELECT * FROM "athena_db"."s3_json_objects"
Кроме того, я проверяю эти ссылки, прежде чем публиковать этот вопрос в StackOverflow и AWSAthena doc
Не удается прочитать файл json через Amazon Athena
AWS Athena Запрос json_extract из строкового поля возвращает пустые значения
Любые комментарии или предложения будут высоко оценены.