AWS Athena Import CSV файл - PullRequest
       12

AWS Athena Import CSV файл

0 голосов
/ 20 октября 2019

У меня эти данные хранятся в S3 как .csv (но это может быть любой другой формат файла, который лучше всего подходит для моих требований):

"41.9100687,-87.8805614","41.9802511,-87.8803253","41.9806802,-87.8792417","41.9810128,-87.8785121","41.9200687,-87.8805614","41.9802511,-87.8803253","41.9806802,-87.8792417",
"41.9100687,-87.8805614","41.9802511,-87.8803253","41.9806802,-87.8792417","41.9810128,-87.8785121","41.9200687,-87.8805614","41.9802511,-87.8803253","41.9806802,-87.8792417",
"41.9100687,-87.8805614","41.9802511,-87.8803253","41.9806802,-87.8792417","41.9810128,-87.8785121","41.9200687,-87.8805614","41.9802511,-87.8803253","41.9806802,-87.8792417",
"41.9100687,-87.8805614","41.9802511,-87.8803253","41.9806802,-87.8792417","41.9810128,-87.8785121","41.9200687,-87.8805614","41.9802511,-87.8803253","41.9806802,-87.8792417",

, и я хотел бы иметь одну координату настолбец:

Пример:

Координаты:

1.  41.9100687,-87.8805614

2.  41.9802511,-87.8803253

3.  41.9806802,-87.8792417

После импорта S3 я выбираю CSV в качестве типа данных ... И затем добавляю строковый столбец.

enter image description here

Но вместо этого я получаю какой-то странный вывод таблицы. Кроме того, я попытался импортировать это как обычный текстовый файл с разделителем запятыми .. Я получаю тот же странный вывод.

enter image description here

Что я здесь не так делаю?

РЕДАКТИРОВАТЬ

Этот скриншот столбца test является запросом из другого, но идентичного примера. Там должно быть gps_coordinates

1 Ответ

0 голосов
/ 21 октября 2019

Чтобы воспроизвести вашу ситуацию, я сделал следующее:

  • Создал текстовый файл, используя ваши образцы данных (gps.txt)
  • Загрузил его в корзину Amazon S3 в собственной папке (без других файлов в этой папке)
  • Создание таблицы в Amazon Athena
    • Указано расположение в качестве имени папки (s3://my-bucket/gps/)
    • Указано 7 столбцов (поскольку в файле примера имеется 7 строковых значений)

Однако, поскольку данныес запятыми в каждой паре чисел, я изменил SerDe на OpenCSVSerDe для обработки CSV - Amazon Athena :

CREATE EXTERNAL TABLE IF NOT EXISTS default.gps (
  `c1` string,
  `c2` string,
  `c3` string,
  `c4` string,
  `c5` string,
  `c6` string,
  `c7` string 
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' 
WITH SERDEPROPERTIES ("separatorChar" = ",", "escapeChar" = "\\") 

LOCATION 's3://my-bucket/gps/'
TBLPROPERTIES ('has_encrypted_data'='false');

Я тогда смог успешно запрос таблицы. Пример значения столбца: 41.9100687,-87.8805614

...