2015-03-22 3 views
1

Я попытался очень внимательно следить за руководство по установке для установки драйверов Impala Cloudera ODBC для R на Mac, но постоянно получаю следующее сообщение об ошибке:Установка драйверов Cloudera Impala ODBC для RODBC

In odbcDriverConnect("DSN=Impala ODBC Driver") : 
[RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver 
Manager]Data source name not found, and no default driver specified 

Вот именно что я сделал. Для каждого файла, указанного ниже, я убедился, что файл существует в этом месте.

Скачать и установить драйвер ODBC Impala из http://www.cloudera.com/content/cloudera/en/downloads/connectors/impala/odbc/impala-odbc-v2-5-23.html

brew install unixodbc 
odbcinst -j 

unixODBC 2.3.2 
DRIVERS............: /usr/local/etc/odbcinst.ini 
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini 
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources 
USER DATA SOURCES..: /Users/summerrae/.odbc.ini 
SQLULEN Size.......: 8 
SQLLEN Size........: 8 
SQLSETPOSIROW Size.: 8 

Указал переменной DYLD библиотека пути:

export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/opt/cloudera/impalaodbc/lib/universal 

echo "export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/opt/cloudera/impalaodbc/lib/universal/" >> ~/.bashrc 

Отредактированные /usr/local/etc/odbc.ini:

[ODBC Data Sources] 
# Use this name in your connection string 
Impala DSN=Impala ODBC Driver 
[Impala DSN] 
# Driver: The location where the ODBC driver is installed to. 
Driver=/opt/cloudera/impalaodbc/lib/universal/libclouderaimpalaodbc.dylib 
# Values for HOST, PORT, Database 
HOST=myhost (changed name here for security) 
PORT=21050 
Database=default 

Edited /user/local/etc/odbcinst.ini: 
[ODBC Drivers] 
Impala ODBC Driver=Installed 
[Impala ODBC Driver] 
Description=Impala ODBC Driver 
Driver=/opt/cloudera/impalaodbc/lib/universal/libclouderaimpalaodbc.dylib 

Отредактировано /opt/cloudera/impalaodbc/lib/universal/cloudera.impalaodbc.ini:

[Driver] 
## - Note that this default DriverManagerEncoding of UTF-15 
## is for unixODBC. 
DriverManagerEncoding=UTF-16 
ErrorMessagesPath=/opt/cloudera/impalaodbc/ErrorMessages/ 
LogLevel=0 
LogPath= 

## - Note that the path to your ODBC Driver Manager 
## must be specified in DYLD_LIBRARY_PATH. 
# unixODBC 
ODBCInstLib=libiodbcinst.dylib 

экспортируемые переменные пути к ~/.bashrc:

#add full path to odbc.ini and add to bashrc 
export ODBCINI=/usr/local/etc/odbc.ini 
echo "export ODBCINI=/etc/odbc.ini" >> ~/.bashrc 

#add directory path to odbcinst.ini and add to bashrc 
export ODBCSYSINI=/usr/local/etc/ 
echo "export ODBCSYSINI=/etc/odbcinst.ini" >> ~/.bashrc 

#add full path to cloudera.impalaodbc.ini and add to bashrc 
export CLOUDERAIMPALAINI=/opt/cloudera/impalaodbc/lib/universal/cloudera.impalaodbc.ini 
echo "export CLOUDERAIMPALAINI=/opt/cloudera/impalaodbc/lib/universal/cloudera.impalaodbc.ini" >> ~/.bashrc 

В R:

install.packages("RODBC") 
library(RODBC) 
#connect using impala DSN 
conn <- odbcConnect("Impala DSN") 

Я прошел через каждый учебник я могу найти, чтобы получить эту работу. Я могу подключиться к одному и тому же серверу и параметрам с помощью Python, я могу подключиться к одному серверу с помощью RImpala, но не могу получить пакет RImpala для запуска запросов, поэтому я знаю, что соединение работает. Любая помощь приветствуется. Благодаря!

ответ

2

Оказалось, что проблема связана с драйверами iODBC, которые пришли по умолчанию с yosemite. Я закончил переустановку mac os, и все отлично поработало.

В качестве альтернативы, я также обнаружил, что вы можете:

установить диспетчер макинтош ODBC

  1. Скачать файл из http://www.odbcmanager.net/
  2. После установки откройте программу из приложений/Утилиты
  3. Нажмите «Драйверы», а затем «Добавить»
  4. Обзор драйвера impala, по умолчанию locatio n: /opt/cloudera/impalaodbc/lib/universal/libclouderaimpalaodbc.dylib
  5. Добавить System DSN
  6. Добавить уведомление о состоянии доставки Имя, затем нажмите на кнопку "Добавить"
  7. Добавьте следующие две пары ключ-значение:

    HOST your_host_name

    PORT 21050

  8. Нажмите «ОК»

Подключитесь к RODBC, используя имя DSN, которое вы создали выше.

+2

Очки для последующего просмотра и добавления альтернативной стратегии. Вы можете проверить свои собственные ответы. –

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

  • Нет связанных вопросов^_^