Как удалить символы новой строки из строк данных в Presto / AWS Athena? - PullRequest
1 голос
/ 06 мая 2019

Я запрашиваю некоторые таблицы в Athena (Presto SAS) и затем загружаю сгенерированный CSV-файл для локального использования.Открыв файл, я понял, что данные содержат новые символы строки, которые не отображаются в интерфейсе AWS, а только в CSV, и от них нужно избавиться.Попытался с помощью функции replace(string, search, replace) → varchar пропустить символ новой строки, заменив \n на \\n без успеха:

SELECT
    p.recvepoch, replace(p.description, '\n', '\\n') AS description
FROM
    product p
LIMIT 1000

Как мне этого добиться?

1 Ответ

1 голос
/ 06 мая 2019

Проблема заключалась в том, что базовые данные таблицы на самом деле нигде не содержат \n, вместо этого - реальный символ новой строки, который представлен char(10). Мне удалось добиться ожидаемого поведения, используя функцию replace, передав ее в качестве параметра:

SELECT
    p.recvepoch, replace(p.description, chr(10), '\n') AS description
FROM
    product p
LIMIT 1000
...