2015-01-10 2 views
1

Мне нужно создать отчеты/сводные таблицы по Redshift с использованием SAS. Данные моего клиента находятся на Amazon Redshift, и он предоставил мне все учетные данные для доступа к базе данных. У меня SAS 9.2 (32 бит) и загружен драйвер PostgresSQL 32bit в мою систему (так как Redshift основан на PostgresSQL). Я источник данных ODBC установка успешно и теперь я подключаю SAS с помощью следующей команды:Подключение SAS 9.2 с помощью Amazon Redshift

LIBNAME RdSft ODBC DSN='Redshift server' user='xxxxxxx' pw='xxxxxx'; 

data Rdsft.new_table; 
set Rdsft.old_table(obs=10); 
run; 

Я могу подключиться и может видеть содержимое таблиц на Redshift, но не в состоянии сделать любой стол там. Иногда я мог, но это заняло несколько часов, чтобы создать таблицу с 10 наблюдениями. Кто-то предложил мне использовать DbVisulizer для выполнения этой задачи, но мне нравится только SAS.

Просьба предложить.

+0

SAS 9.0 почти 12 лет ... скорее всего, проблема с недействительной лицензией? – Reeza

+0

Его ошибка, мы имеем SAS 9.2 с действующей лицензией. Это просто из-за версии SAS? – XLers

+0

Все ли данные, которые вы манипулируете на сервере или являются локальными? Я предполагаю, что вы не хотите использовать явный проход для использования PostGres SQL явно? – Reeza

ответ

0

Если у вас есть SAS/ACCESS попробуйте использовать двигатель Postgres для библиотеки вместо того, чтобы идти через ODBC, например:

libname RdSft postgres server="<server-address>" database=<db-name> port=5432 user='xxxxxxx' pw='xxxxxx'; 

Кроме того, попробуйте добавить conopts="UseServerSidePrepare=1" в имя-библ как предложено в данной статье: http://support.sas.com/kb/52/585.html

0

простой факт заключается в том, что, когда вы подключаетесь к RedShift через ODBC, даже ваш простой шаг данные запроса:

«данные Rdsft.new_table; набор Rdsft.old_table (набл = 10); run; "

По существу, перевод "select * from rdsft.old_table" перед тем, как применяется подмножество obs.

Решение postgres SAS/ACCESS прочное, вы также можете использовать proc sql, выбрать только нужные столбцы и подмножество как можно больше. Proc Sql будет немного легче переводить язык запросов Redshift через ODBC, чем шаг данных.

SAS, как мы надеемся, вскоре выпустит вариант SAS/ACCESS для REDSHIFT! :)

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