본문 바로가기
Impala

Excel에 ODBC 연동하기(Mac)

by 초이MS 2020. 6. 3.

ODBC란?

  • MS사가 만든 DB 접근 소프트웨어 표준 규격.
  • ODBC driver를 위해서는 Driver Manager(iODBC, unix ODBC)를 설치해서 이용

연동 순서

  • 필자는 impala odbc를 연동하였다.

1. iODBC 설치

2. ODBC Manager 설치(옵션)

  • ODBC Manager를 설치하지 않아도 DSN 설정이 가능하나 파일을 찾아다녀야 하는 번거로움이 있다.
  • iODBC Administrator64에 DSN을 설정하는 기능이 있으나 필자에게는 잘 작동하지 않아 설치하였다.
  • http://www.odbcmanager.net/에 들어가 ODBC Manager를 설치한다.

3. Impala ODBC 설치

4. ODBC Driver 파일 위치 이동

  • /opt/cloudera/impalaodbc/libs/universal 하위의 파일들을 /Library/ODBC/ODBCDataSources 하위로 복사한다.
  • 복사하는 이유는 권한 관련해서 Driver Manager가 odbc를 읽지 못하는 문제가 발생했어서 /Library/ODBC/ODBCDataSources 하위로 옮겨 문제를 해결했다.

5. DSN 등록

  • DSN설정은 System DSN, User DSN이 있으며 System DSN은 모든 사용자가 이용 가능한 DSN, User DSN은 해당 User만 이용하는 DSN이다.
  • GUI를 이용할 수도, CLI를 이용할 수도 있다.

5-1. ODBC Manager를 이용

  • 기본적으로 Driver가 등록되어 있을 것이다.
  • [4. ODBC Driver 파일 위치 이동] 에서 이동시켰던 파일 중 libclouderaimpalaodbc.dylib을 타겟으로 Driver를 추가한다.

 

5-2. 파일에 직접 설정

  • odbc.ini 파일은 DSN을 설정하는 파일이며, odbcinst.ini는 Driver를 설정하는 파일이다.
  • /Library/ODBC,~/Library/ODBC 두 경로에서 odbc.ini, odbcinst.ini 파일을 확인 가능하다.
  • 두 파일의 설정 양식은 다음과 같다.
    파일 내용 위치
    odbc.ini [ODBC Data Sources]

    My Impala = Cloudera Impala


    [My Impala]
    Driver = /Library/ODBC/ODBCDataSources/libclouderaimpalaodbc.dylib
    Host = xxx.xxx.xxx.xxx(ip)
    Port = 21050
    AuthMech = 0
    Description = Impala description
    /Library/ODBC/odbc.ini
    odbcinst.ini [ODBC Drivers]
    Cloudera ODBC Driver for Impala = Installed
    Cloudera Impala = Installed

    [Cloudera ODBC Driver for Impala]
    Driver = /opt/cloudera/impalaodbc/lib/universal/libclouderaimpalaodbc.dylib

    [Cloudera Impala]
    Driver = /Library/ODBC/ODBCDataSources/libclouderaimpalaodbc.dylib

    ~/Library/ODBC/odbcinst.ini

    6. Excel에서 데이터 확인

    • Excel에서 Data 탭 선택한다.
    • New Database Query 탭에서 From Database 선택한다.
    • 자신이 설정했던 DSN을 선택한다.
    • Microsoft Query 창을 확인할 수 있으며, 이를 통해 쿼리를 호출 할 수 있다.
    • 좌측 상단의 Return Data버튼을 이용하여 Excel 시트에 쿼리 결과를 가져올 수 있다.


    참고

반응형

댓글