2015-12-26 6 views
0

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

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

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

+0

места '/ bin/Баш/data' не имеет никакого смысла. Пожалуйста, включите правильный путь к вашему файлу данных. – sjsam

+0

Я получал доступ к местоположению/bin/bash/data, потому что я запускаю базу данных Greenplum на изображении Cent OS через контейнер Docker. Файлы Контейнера (здесь Cent OS) сохраняются на этом пути/bin/bash/data. – Sherlock

+0

Этот путь звучит странно для меня .. Не могли бы вы сказать, как вы решили проблему? – sjsam

ответ

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 ','; 

Также SQL пользователь вы должны имеют разрешение на доступ к data.txt из папки /data.

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

+0

спасибо sjsam !! – Sherlock

Смежные вопросы