python flask – 초간단 WEB API/함수 flask를 이용하면 단 몇 줄 만으로 웹 서비스를 생성해낼 수 있다. 설치 pip install flask Hello World 아래와 같이 app이라는 flask 인스턴스를 생성하고, decorator를 이용해서 / 경로에 GET 요청이 있을 때 ‘Hello Word!’ 라는 메시지를 뿌려주는 웹서버를 간단하게 생성해줄 수 있다. # hello_world.py import flask app = flask.Flask(__name__) app.config[“DEBUG”] […]
[Python] selenium을 이용한 crawler – 로또 당첨 판매점 정보
selenium을 이용한 crawler – 로또 당첨 판매점 정보 Selenium Web Driver를 이용해서, Session을 유지한 상태에서 정보를 수집하는 Crawler 를 만든다. https://www.dhlottery.co.kr/store.do?method=topStore&pageGubun=L645 페이지에 들어가면 회차별 1등 배출점을 조회할 수 있다. 회차를 선택하기 위해서는 Select Box에서 확인하고자 하는 회차를 선택하면 되는데, url을 통해서 접근할 수는 없다. 이 때문에 특정 회차의 당첨 판매점을 조회하기 위해서는 최초 페이지에 접속한 […]
[Python] requests를 이용한 crawler – 로또 회차별 당첨 결과
requests를 이용한 crawler – 로또 회차별 당첨 결과 Python 을 이용해서 로또 당첨 결과를 수집하는 Crawler를 만든다. 목표 https://www.dhlottery.co.kr/gameResult.do?method=byWin&drwNo=1 페이지에 들어가면 아래와 같이 회차별 당첨 정보를 조회할 수 있는데, 각 회차별 페이지에서 아래 표시된 당첨 번호, 보너스 번호, 등위별 당첨금액, 등위별 당첨 게임 수 데이터를 수집한다. 만들기 requests pip install requests 명령으로 requests 패키지를 설치한다. […]
[Python] JayDeBeApi
JayDeBeApi The JayDeBeApi module allows you to connect from Python code to databases using Java JDBC. It provides a Python DB-API v2.0 to that database. https://pypi.org/project/JayDeBeApi/ install jdbc를 사용하다보니 java가 설치돼 있어야 한다. Python Version $ python –version Python 3.6.6 pip를 이용한 설치 $ pip install JayDeBeApi Collecting JayDeBeApi Downloading https://files.pythonhosted.org/packages/2a/63/5fbffcbf0463fe26f55ee8ff08bcbb812cab4df2decddfac645cbac966ed/JayDeBeApi-1.1.1-py3-none-any.whl Collecting JPype1 (from JayDeBeApi) […]
[ElasticSearch] Lucene
Lucene OpenSource 검색 라이브러리로서 하둡 개발자로 잘 알려진 Doug Cutting이 개발했다. Lucene이라는 이름은 그의 아내 middle name 을 따서 지었다고. Lucene은 Levenshtein distance에 기반한 fuzzy search 기능까지 있는 검색 라이브러리로 검색 능력이 뛰어나다고 한다. Lucene-demo http://lucene.apache.org/ apache/lucene/java/7.5.0 위 경로에서 Lucene 최신 라이브러리를 다운로드 받으면 demo/lucene-demo-7.5.0.jar 데모 클래스가 있다. IndexFiles를 이용하면 파일 시스템의 특정 경로 내의 […]
MBR GPT
MBR GPT MBR GPT Supports disks larger than 2TiB. Supports partitions larger than 2TiB. Supports more than four partitions, with no distinction between primary, extended, and logical partitions. Uses GUIDs as type codes, which means there’s less risk of conflicting/duplicate codes. Uses LBA addressing exclusively, compared to MBR’s dual use of LBA and CHS. (Even […]
[ElasticSearch] 한글 형태소 분석기 nori
한글 형태소 분석기 nori 소개 설치 elasticsearch-plugin 이용해서 설치. 모든 노드에 설치 되어야하고 설치 이후에는 노드 별 재기동이 필요. elasticsearch-plugin install analysis-nori Analysis 형태소 분석을 적용해보고 싶은 text 에 대해 다음과 같이 analysis 테스트가 가능하다. curl -X GET “$HOSTNAME:9200/_analyze?pretty” -H ‘Content-Type: application/json’ -d’ { “tokenizer”: “nori_tokenizer”, “text”: “뿌리가 깊은 나무는”, “attributes” : [“posType”, “leftPOS”, “rightPOS”, […]
[ElasticSearch] elasticdump
elasticdump elasticsearch에 저장돼 있는 indice 데이터를 json 파일로 내려받거나 다른 elasticsearch cluster에 indexing 할 수 있는 유틸로서 https://github.com/taskrabbit/elasticsearch-dump 에서 project 관리를 하고 있고 다운로드 및 가이드 확인이 가능하다. 설치 의존성 node.js 어플리케이션으로 작성돼 있어 node 필요. 설치 순서 1. source 다운로드 및 압축해제 wget https://github.com/taskrabbit/elasticsearch-dump/archive/master.zip unzip master.zip 2. npm install cd elasticsearch-dump-master npm install export […]
[ElasticSearch] ElasticSearch-Hadoop Connector
ElasticSearch-Hadoop ElasticSearch-Hadoop Connector를 이용하여 ElasticSearch의 실시간 검색 및 분석 기능과 Hadoop의 강력한 데이터 저장 및 처리 기능을 동시에 활용. 기본적으로 ElasticSearch는 Join SQL이 수행되지 않는데 ElasticSearch-Hadoop Connector를 이용하면 DF 를 생성해서 multi index 에 대한 Join SQL을 수행할 수 있을 것 같다. 테스트 해본 데이터 사이즈가 커서 그런지 쿼리 응답을 받지는 못함.. 설치 wget https://artifacts.elastic.co/downloads/elasticsearch-hadoop/elasticsearch-hadoop-6.4.2.zip […]
[ElasticSearch] Search API
ElasticSearch Search API 필터 등 기본적인 검색 방법에 대해 소개. RDBMS 에서 쿼리한 것과 비교해보면서 ElasticSearch에서 쿼리해보면 좋을듯. Query client 는 Kibana Dev Tools 을 사용한다. 테스트 데이터 tpc-H 에서 생성된 데이터 중 supplier 테이블 데이터를 바탕으로 테스트 진행. supplier index template 정수형, 문자형, 텍스트 형에 따라 검색 특성을 보기 위해 아래와 같이 index template […]