Я попытался очень внимательно следить за руководство по установке для установки драйверов 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 для запуска запросов, поэтому я знаю, что соединение работает. Любая помощь приветствуется. Благодаря!
Очки для последующего просмотра и добавления альтернативной стратегии. Вы можете проверить свои собственные ответы. –