데이터 분석을 위한 작업 환경을 개선하려고 주피터 노트북에 PySpark 를 연동한 작업을 기록합니다. 사전 작업 spark 설치 및 pyspark shell 테스트 ipython 설치 및 jupyter notebook 실행 테스트 참고 자료 Jupyter(IPython) 에서 pyspark 사용하기 Pyspark S...
Python - mmap 으로 대용량 파일 읽기
텍스트로만 8GB 이상인 대용량 파일을 전처리 하기 위해서 빠르게 읽고 쓰는 방법에 대해 공부했습니다. 대용량 파일 읽고 처리하기 뉴스 JSON 파일 news.sources 용량 8.1G 를 읽고 JSON 문자열을 Document 개체로 변환하는 작업 Type1: 일반적인 file open 이후, from_json 작업 수행 &...
NEWS API & Angular Example
국내 뉴스 데이터 제공을 서비스하는 빅카인즈에 대해 알아보았습니다. 역시나 연구과제용으로 쓰지 못합니다. <그림> news-api NEWS API ►link 국내에도 뉴스 데이터를 API로 제공하는 ‘빅카인즈‘라는 업체가 있긴 한데, 뉴스 저작권...
Effective PYTHON 2nd - Ch09
Python 기초를 다지기 위해 효과적인 파이썬이란 책을 공부 중입니다. 9장 테스트와 디버깅 파이썬은 선택적인 타입 애너테이션을 지원하며 이를 활용해 정적 분석을 수행할 수 있다. 파이썬은 컴파일 시점에 정적 타입 검사를 수행하지 않는다. 또한 컴파일 시점에 프로그램이 제대로 작동할 것이라고 확인할 수 ...
Effective PYTHON 2nd - Ch08
Python 기초를 다지기 위해 효과적인 파이썬이란 책을 공부 중입니다. 8장 강건성과 성능 기능을 개발한 후에는 오류가 발생해도 문제가 없도록 프로덕션화 해 코드를 방탄처리를 해야 한다 강건성(robust)에는 규모 확장성 과 성능 이라는 차원이 포함된다 65) try/except/else/finally의 각 블록을 잘 활...
Effective PYTHON 2nd - Ch07
Python 기초를 다지기 위해 효과적인 파이썬이란 책을 공부 중입니다. 7장 동시성과 병렬성 52) 자식 프로세스를 관리하기 위해 subprocess를 사용하라 subprocess 모듈을 사용해 자식 프로세스를 실행하고 입력과 출력 스트림을 관리할 수 있다. 자식 프로세스는 파이썬 인터프리터와 병렬로 실행되므로 CPU 코어를 ...
Effective PYTHON 2nd - Ch06
Python 기초를 다지기 위해 효과적인 파이썬이란 책을 공부 중입니다. 6장 메타클래스와 애트리뷰트 44) 세터와 게터 메서드 대신 평범한 애트리뷰트를 사용하라 클래스 인터페이스를 정의할 때 setter나 getter 메서드를 가급적 사용하지 말라 간단한 공개 attribute 에서 시작하자 (파이썬 다운 코드...
Effective PYTHON 2nd - Ch05
Python 기초를 다지기 위해 효과적인 파이썬이란 책을 공부 중입니다. 5장 클래스와 인터페이스 37) 내장 타입을 여러 단계로 내포시키기보다는 클래스를 합성하라 내장 타입이 복잡하게 내포된 데이터를 값으로 사용하는 딕셔너리를 만들지 말라 내부 클래스를 만들어 가독성 있게 관리하자 ...
Effective PYTHON 2nd - Ch04
Python 기초를 다지기 위해 효과적인 파이썬이란 책을 공부 중입니다. 4장 컴프리헨션과 제너레이터 27) map과 filter 대신 컴프리헨션을 사용하라 리스트 컴프리헨션은 lambda 식을 사용하지 않기 때문에 map, filter 내장 함수보다 더 명확하다 map 을 사용할 때 원소를 건너뛰려면 filte...
Effective PYTHON 2nd - Ch03
Python 기초를 다지기 위해 효과적인 파이썬이란 책을 공부 중입니다. 3장 함수 19) 함수가 여러 값을 반환하는 경우 절대로 네 값 이상을 언패킹하지 말라 함수가 여러 값을 투플로 패킹하여 반환하고, 호출하는 쪽에서 언패킹 구문을 쓸 수 있다 별표식을 이용해 여러값을 리스트로 받는 언패킹을 할 수도 있다 ...