Амазонка Афина возвращает "HIVE_CURSOR_ERROR: HIVE_CURSOR_ERROR" на гео JSON - PullRequest
0 голосов
/ 25 декабря 2018

Я пытаюсь прочитать файл geojson, используя Amazon Athena.

Заголовок моих входных данных выглядит следующим образом:

{
"type": "FeatureCollection",
"name": "sql_statement",
"features": [
{ "type": "Feature", "properties": { "gridsize": 500.0, "big_gid": 353, "little_gid": 22482 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -981739.267883020918816, 30855.609566356935829 ], [ -981739.267883020918816, 31355.354737498135364 ], [ -981241.022986860014498, 31355.354737498135364 ], [ -981241.022986860014498, 30855.609566356935829 ], [ -981739.267883020918816, 30855.609566356935829 ] ] ] } },
{ "type": "Feature", "properties": { "gridsize": 500.0, "big_gid": 353, "little_gid": 22483 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -981241.022986860014498, 30855.609566356935829 ], [ -981241.022986860014498, 31355.354737498135364 ], [ -980742.778090699226595, 31355.354737498135364 ], [ -980742.778090699226595, 30855.609566356935829 ], [ -981241.022986860014498, 30855.609566356935829 ] ] ] } },
{ "type": "Feature", "properties": { "gridsize": 500.0, "big_gid": 353, "little_gid": 22484 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -980742.778090699226595, 30855.609566356935829 ], [ -980742.778090699226595, 31355.354737498135364 ], [ -980244.533194538322277, 31355.354737498135364 ], [ -980244.533194538322277, 30855.609566356935829 ], [ -980742.778090699226595, 30855.609566356935829 ] ] ] } },
{ "type": "Feature", "properties": { "gridsize": 500.0, "big_gid": 353, "little_gid": 22485 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -980244.533194538322277, 30855.609566356935829 ], [ -980244.533194538322277, 31355.354737498135364 ], [ -979746.288298377417959, 31355.354737498135364 ], [ -979746.288298377417959, 30855.609566356935829 ], [ -980244.533194538322277, 30855.609566356935829 ] ] ] } },
{ "type": "Feature", "properties": { "gridsize": 500.0, "big_gid": 353, "little_gid": 22486 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -979746.288298377417959, 30855.609566356935829 ], [ -979746.288298377417959, 31355.354737498135364 ], [ -979248.043402216513641, 31355.354737498135364 ], [ -979248.043402216513641, 30855.609566356935829 ], [ -979746.288298377417959, 30855.609566356935829 ] ] ] } },
{ "type": "Feature", "properties": { "gridsize": 500.0, "big_gid": 353, "little_gid": 22487 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -979248.043402216513641, 30855.609566356935829 ], [ -979248.043402216513641, 31355.354737498135364 ], [ -978749.798506055609323, 31355.354737498135364 ], [ -978749.798506055609323, 30855.609566356935829 ], [ -979248.043402216513641, 30855.609566356935829 ] ] ] } },

, и я определил таблицу, используя геопространственную документацию в качестве шаблона:

CREATE external TABLE IF NOT EXISTS testdb.grid_500
 (
 gridsize double,
 big_gid int, 
 little_gid int, 
 geometry binary
 )
ROW FORMAT SERDE 'com.esri.hadoop.hive.serde.JsonSerde'
STORED AS INPUTFORMAT 'com.esri.json.hadoop.EnclosedJsonInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION 's3://jdl-athena/grid/'
;

Любой запрос, который я выполняю к таблице, однако, возвращает ту же, довольно бесполезную ошибку:

Your query has the following error(s):

HIVE_CURSOR_ERROR: HIVE_CURSOR_ERROR

This query ran against the "testdb" database, unless qualified by the query.
Please post the error message on our forum or contact customer support with 
Query Id: 25d3da93-5cfd-46bb-9f77-4eb014679ba6.

Любые идеи, почему я могу получить эту ошибку или как я могидти на отладку?Я даже не могу понять, как получить достаточно информации, чтобы диагностировать, что может происходить.

1 Ответ

0 голосов
/ 25 декабря 2018

Итак, после большого количества Google Fu я обнаружил, что (конечно) ESRI создал собственный формат JSON для географических данных.Я использую открытый стандарт GeoJson, а формат ESRI называется ESRI Enclosed JSON.Для геометрического JSON Athena поддерживает только формат ESRI, а не GEOJSON.

Я обнаружил это различие здесь: https://github.com/Esri/gis-tools-for-hadoop/issues/29

Так что, похоже, мне нужны мои входные данные в другом формате.

...