1 도커 작업흐름

도커 컨테이너는 기본적으로 격리된 개발환경으로 데이터 사이언스에서 작업할 데이터는 별도 저장공간에 저장하고 이를 -v로 컨테이너 디렉토리와 호스트 컴퓨터 디렉토리를 공유하여 작업하는 모양을 취한다. 이를 위해서 작업할 데이터를 로컬 컴퓨터에 저장시켜 놓고 이를 동기화된 컨테이너에서 가져다 작업하고 결과를 다시 로컬 디렉토리에 떨어뜨려 저장시키는 방식으로 작업한다.

도커 생애주기

2 외부 데이터 가져오기

2.1 엑셀

붓꽃 데이터가 엑셀로 저장되어 있다고 가정하면 Iris.xlsx 파일명이고 이를 CSV 파일로 변형시켜야 CLI를 사용해서 데이터 분석 작업이 가능하다. 이를 위해서 in2csv 프로그램을 사용해서 파이프 연산자 >을 사용해서 iris.csv 파일로 데이터 변환 결과를 내보낸다.

2.2 데이터베이스(sqlite)

관계형 데이터베이스는 종류가 많지만 원리는 비슷하다. 학습용으로 가장 많이 사용되는 sqlite3를 대상으로 CLI 작업을 수행하는 방법을 살펴본다.

2.2.1 sqlite3 설치

Data Science at the Command Line는 “Alpine Linux”로 보안이 뛰어나고 가벼운 것으로 알려져 있다. 보통 추가 도구를 설치할 때 우분투의 경우 apt-get을 사용하는 것과 마찬가지로 sudo apk add을 사용해서 추가하면 된다. which sqlite3 명령어를 통해서 설치가 된 것을 확인한다.

2.2.3 데이터베이스 → CSV 추출

sql2csv 도구를 사용해서 sqlite3 survey_cli.db 데이터베이스에 쿼리(‘SELECT * FROM Person’)를 던져 CSV 파일로 뽑아낼 수 있다. 관계형 데이터베이스가 dialect+driver://username:password@host:port/database 형식으로 되어 있어 형식에 맞춰 계정명과 비번 필요한 경우 포트도 확인하여 명세하면 된다.

2.4 API

Lorem Ipsum와 마찬가지로 임의로 가짜 사람데이터를 생성시키는 RANDOM USER GENERATOR API를 사용해서 데이터를 입수해본다. jq를 사용해서 JSON 데이터를 보기좋게 정리한다. OAuth 프로토콜을 사용하는 경우 curlicue 도구를 사용한다.