2013-12-09 6 views
0

У меня есть набор файлов с разделителями табуляции, расположенных на местоположении сервера, и я создал таблицу метаданных и внешнюю таблицу с тем же расположением, что и таблица метаданных.Greenplum - внешние таблицы

Я хотел знать, когда я запускаю внешний скрипт таблицы в PgAdmin 3, он должен загружать внешнюю таблицу данными из файлов (файлы с разделителями табуляции) на сервере?

Я полагаю, что должен, но когда я запускаю SELECT, запрос к таблице внутр он выдает ошибку:

(ERROR: http response code 404 from gpfdist) 

Как идти об этой проблеме?

+0

404 код средства, файл нет –

ответ

0

Вы указали Host: Port с текстовым (входным) именем файла в определении внешней таблицы?

Вы начали свой gpfdist в той же папке, в которой есть ваш текстовый файл?

Проверьте, действительно ли ваш gpfdist онлайн.

Опубликуйте свой скрипт таблицы сценариев/метаданных.

+0

большое спасибо !!! он работает сейчас .. в любом случае здесь есть скрипт для создания внешней таблицы я использую CREATE TABLE ВНЕШНЕЕ staging.ext_file_layout ( LIKE staging.file_layout ) МЕСТО ( «gpfdist: // T430-TMG198: 8080//*.txt ' ) FORMAT' text '(delimiter' \t 'null' NULL ') ENCODING' LATIN1 '; ALTER EXTERNAL TABLE staging.ext_file_layout OWNER TO dev_staging_develop; – jason

1

Без gpfdist запущенных экземпляров на своих серверах Redhat Greenplum Я видел эту ошибку в наших журналах при попытке использования внешних таблиц: ОШИБКА: соединение с gpfdist Сбой gpfdist: //172.xxx.xxx.xxx: 8081/приложение/ххх/прод/данные/file.2015-01-21-08-37-50-0001.txt. эффективный URL: http://172.xxx.xxx.xxx:8081/app/xxx/prod/data/file.2015-01-21-08-37-50-0001.txt. Код ошибки = 111 (отказ в соединении) (seg2 slice1 hostnamexxxx: 40002 PID = 17585)

Я начал gpfdist работает в фоновом режиме на портах 8080 и 8081 (не знаю, почему так), и я получил другую ошибку: ERROR : http-код ответа 404 из gpfdist (gpfdist: //172.xxx.xxx.xxx: 8081/app/xxx/prod/data/file.2015-01-21-08-37-50-0001.txt): HTTP/1.0 404 файл не найден (url.c: 343) (seg0 slice1 hostnamexxx: 40000 pid = 62012) (cdbdisp.c: 1525)

Я нашел, что мне нужно было запустить gpfdist из каталога/-d/app/xxx/prod/data не работал и не запускал gpfdist из этого каталога), используя следующие команды:

  • поЬир/USR/местные/Greenplum/Greenplum-дб/бен/gpfdist -p 8081 -l /home/xxxmgr/8081.log &

  • поЬир/USR/местные/Greenplum/Greenplum-дб/bin/gpfdist -p 8080 -l /home/xxxmgr/8080.log &

Сейчас он работает нормально. Удачи!