Импорт текстовых данных в базу данных Greenplum

У меня есть текстовый файл с некоторыми данными, и я хочу импортировать данные в базу данных Greenplum. После онлайн-исследования я обнаружил, что лучше использовать команду COPY, если размер ваших данных небольшой. Поэтому я решил использовать это. Вот сценарий: я поместил свой текстовый файл в папку / bin / bash / data, я могу получить доступ к этому файлу через терминал, но как только я запускаю следующий скрипт COPY sql в базе данных Greenplum, он говорит: не удалось открыть файл "/bin/bash /data/data.txt"для чтения: нет такого файла или каталога. Ниже приведен сценарий my sql:

COPY userdata(customerid,time,trans,quantity) from '/bin/bash /data/data.txt' WITH DELIMITER ',';

Из документации базы данных Greenplum я обнаружил следующую строку: Исходный файл COPY должен быть доступен для главного хоста. Укажите имя исходного файла COPY относительно местоположения главного хоста. Но я не знаю, как сделать его доступным для главного хоста и относительно местоположения главного хоста.

1 ответ

Решение

Путь к вашему файлу не имеет никакого смысла.

/bin/bash /data/data.txt конечно не является допустимым именем для пути.

если ты data.txt файл находится в /data папка с содержимым в следующем формате:

12345,5:32AM,air,2
67890,6:42PM,rail,4

Вы можете использовать следующую команду:

COPY userdata(customerid,time,trans,quantity) FROM '/data/data.txt' WITH DELIMITER AS ',';

Кроме того, пользователь SQLL вы должны иметь разрешение на доступ к data.txt с места /data папка.

Возможно сделать ls -l и проверьте, может ли пользователь sql читать файлы из data.txt

Другие вопросы по тегам