Импорт текстовых данных в базу данных 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