OpenDataPlatform/CKAN 분석

  • OpenDataPlatform/CKAN 분석

    ckanext-Harvest 설치 및 데이터 불러오기

    안녕하세요 씨앤텍 시스템즈의 김준형 입니다. 이번 포스트는 ckanext-Harvest에 대해서 정리해 보았습니다. https://github.com/ckan/ckanext-harvest 문서를 참고하여 작성하였습니다. 1. ckanext-Harvest란? 1.1 정의 - CKAN-Harvest란 데이터 공유 플랫폼 CKAN에서 서로 다른 서버들간의 데이터셋을 주고 받는 기능 2. ckanext-Harvest 설치 2.1 redis 설치 - sudo apt-get update - sudo apt-get install redis-server - CKAN의 설정파일 development.ini에서 아래의 설정을 추가합니다. ( 패키지로 설치했으면 production.ini 파일 수정 ) vi /etc/cka..

  • OpenDataPlatform/CKAN 분석

    03. CKAN 프레임워크 - Pandas

    안녕하세요. Ckan 프레임워크에서 데이터를 추가할 때 프로파일링 기능을 추가하고자 합니다. Python기반의 모듈인 Pandas를 활용하여 Profiling 기능을 개발했습니다. 제일 중요한게 개발 환경인데요. CKAN 및 Python 그 외 모듈의 버전은 다음과 같이 진행하였습니다. Ubuntu OS python 2.7 pandas 0.20.2 numpy 1.12.0 xlsxwriter 1.1.8 페이지 추가 데이터 셋 메뉴에 데이터셋 추가 버튼을 통해서 추가할 수 있습니다. Pandas를 이용한 Profiling 기능을 가진 페이지를 추가할 건데요. 페이지를 추가하기 위해 알아야할 부분을 확인해보겠습니다. 은 데이터셋 초기 화면입니다. 메뉴에서 데이터셋 버튼을 눌렀을 때 나오는 페이지이죠. Temp..

  • OpenDataPlatform/CKAN 분석

    02. CKAN 프레임워크 - Solr

    안녕하세요. CKAN의 중요 한 축을 담당하고 있는 검색엔진 Solr에 대해 알아보겠습니다. Apache Lucene(루씬)은 자바 언어로 이루어진 정보 검색 라이브러리입니다. Solr와 Elasticsearch 검색엔진은 루씬을 기반의 API입니다. 실제로 CKAN 내부에서 Solr 라이브러리를 보면 루씬 라이브러리가 포함되어있는 것을 볼 수 있습니다. Solr나 Lucene은 페이스북이나 트위터 등 다들 알고 있는 기업의 제품에 인베디드돼 이용되고 있습니다. CKAN에서는 이러한 Solr를 어떻게 적용했고 어떤 구조로 되어있는지 정리했습니다. 우선 Solr 디렉토리먼저 살펴보겠습니다. '/etc/solr' : solr 설정 파일이 들어있는 디렉토리입니다. '/usr/share/solr' : solr ..

  • OpenDataPlatform/CKAN 분석

    01. CKAN 프레임워크 - 준비

    안녕하세요. CKAN 프레임워크에서 제공해주는 웹을 커스터마이징 하기 위한 준비하려면 필요한 부분에 대해 정리하려고 합니다. 가장 기본적인 첫 단계는 CKAN 프레임워크 소스에 대한 이해입니다. 1. 경로 및 구성 확인 은 CKAN 웹을 구성하는 기본 소스파일위 위치 및 구성입니다. 확장자가 '.py'인 것으로 보아 파이썬 기반의 웹 프로그래밍을 사용한 것으로 보입니다. 2. 웹 프로그래밍 언어와 프레임워크 확인 파이썬 웹프로그래밍 프레임워크의 대표적이면서 주로 쓰이는 것은 Django와 Flask가 있습니다. path에서 'grep -r "flask" .'을 치고 엔터를 누릅니다! "문자열"이 포함된 파일들을 찾아주는 명령어인데요. "flask"를 사용하고 있는 것을 확인할 수 있습니다. 3. 템플릿 ..

  • OpenDataPlatform/CKAN 분석

    CKAN DataSet 등록 시 사용된 테이블 분석

    안녕하세요 씨앤텍 시스템즈입니다. 이번 포스트는 DataSet 등록 시 사용된 테이블 대해서 정리해 보았습니다. DB 리버스와 QueryLog 를 활용하여 CKAN에서 DataSet 등록 시 데이터가 어느 테이블에 어떻게 저장되는지 분석하였습니다. 1) Query Log 파일 분석 DataSet 등록 후 QueryLog 파일을 확인하여 insert 된 테이블 확인 2) insert된 데이터를 확인하여 테이블 관계 분석 최초 insert된 테이블을 확인 후 해당 테이블의 PK값이 다른 테이블의 FK로 저장되었는지 확인 3) DB 리버스 모델과 Query 분석 내용을 종합하여 테이블간 관계 파악 분석 결과 1) 최초로 데이터가 insert되는 테이블은 revision table! Query Log 분석 결과..

  • OpenDataPlatform/CKAN 분석

    Postgresql Query Log 분석

    안녕하세요 씨앤텍시스템즈 입니다. 이번 포스트는 Postgresql Query Log에 대해서 정리해 보았습니다. DB 리버스를 통해 테이블의 목록 및 관계를 조금이나마 파악하였지만 더 정확히 파악하기 위해서 Query Log를 통해 Data가 어느 테이블에 저장되는지 알아보겠습니다. 1. Query Log 작성 Postgresql은 select,update,insert 등등 DB에 호출된 Query를 기록해주는 기능을 제공합니다. 이 기능을 사용하기 위해선 간단한 사전 준비가 필요합니다. 우선, Postgresql이 설치된 경로에 postgresql.conf 파일을 수정해야 합니다. ○ log_directory의 주석을 제거 log_directory = 'pg_log' ○ log_finename의 주석..