середа, 15 січня 2014 р.

R + MySQL + Ubuntu

Сьогодні налаштуємо імпорт даних з MySQL в R. Як R, так і MySQL встановлені на машині з 64-бітній Ubuntu 12.04.
Встановлюємо ODBC для Ubuntu:
 sudo apt-get update  
 > sudo apt-get install unixODBC unixODBC-dev  
 > sudo apt-get install libmyodbc  
 > sudo gedit /etc/odbc.ini  
odbc.ini може виглядати так:
 [name_of_base]  
 Driver    = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so  
 Description = MyODBC 3.51 Driver DSN  
 SERVER    = localhost  
 PORT     = 3306  
 USER     = user_name  
 Password   = your_password  
 Database   = your_db_name  
 OPTION    = 3  
 SOCKET    = /var/run/mysqld/mysqld.sock  
Якщо база знаходиться на віддаленій машині вказуємо сервер і порт, які дозволяють до неї приєднатись. Вказуємо конфігурацію odbcinst.ini:
 > gedit /etc/odbcinst.ini  
Приклад odbcinst.ini:
 [MySQL]  
 Description = ODBC for MySQL  
 Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so  
 Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so  
 FileUsage = 1  
Перевіряємо чи ODBC працює коректно:
 > odbcinst -j  
 unixODBC 2.2.14  
 DRIVERS............: /etc/odbcinst.ini  
 SYSTEM DATA SOURCES: /etc/odbc.ini  
 FILE DATA SOURCES..: /etc/ODBCDataSources  
 USER DATA SOURCES..: /root/.odbc.ini  
 SQLULEN Size.......: 8  
 SQLLEN Size........: 8  
 SQLSETPOSIROW Size.: 8  
 > echo "select 1" | isql -v name_of_base  
 +---------------------------------------+  
 | Connected!              |  
 |                    |  
 | sql-statement             |  
 | help [tablename]           |  
 | quit                 |  
 |                    |  
 +---------------------------------------+  
Переходимо в R та встановлюємо пакет RODBC:
 > sudo R  
 > install.packages('RODBC')  
І, нарешті, можемо з R працювати з нашою базою:
 > library(RODBC)  
 > connect_to_db <- odbcConnect('name_of_base', uid = 'user_name', pwd = 'password')  
Налаштування аналогічного імпорту в PostgreSQL: http://energyfirefox.blogspot.com/2010/12/r-postgres.html

Немає коментарів:

Дописати коментар