8-4. Data Pipeline on the Command Line
가짜연구소 dsf-2기로 활동중이며, 데이터 엔지니어 8코스-4) Data Pipeline on the Command Line 를 수강하고 그에 관련 내용을 적어보았다.
사례 연구로 Python을 사용하여 명령줄에서 Python을 실행하고, 패키지 관리자 pip를 사용하여 종속성을 설치하고, 명령줄을 사용하여 전체 모델 파이프라인을 빌드하는 방법을 배웁니다.
🌱 출처 : Datacamp data enigneering track
모르는 부분이나 헷갈렸던 부분은 계속 추가될 수 있다!
Data Pipeline on the Command Line
1. Python on the command line
2. Python package installation with pip
3. Data job automation with cron
4. Course recap
1. Python on the command line
데이터 처리가 명령줄에서 더 생산적이지만, 예측 모델링과 같은 복잡한 데이터 작업은 여전히 Python이 더 유용합니다.
명령줄에서 python을 실행하여 두 장점을 결합하는 방법을 배웁니다.
Python
- 파이썬은 MaxOS, Linux에 사전 설치되어 제공되지만, Windows은 따로 설치해야 함.
- 파이썬과 상호작용하는 일반적인 방법은 Jupyter와 같은 GUI 인터페이스를 사용하는 것임.
- 더 효율적인 방법은 명령줄에서 직접 python에 엑세스 하는 것
문서 밑 옵션 플래그를 호출합니다.
man python
python --version
파이썬 버전에 따라 구문이 다르기 때문에 파이썬 버전을 체크해 줍니다.
which python
을 사용하여 사용중인 파이선을 볼 수 있습니다.
명령줄에서 python과 상호작용하기 위해,
python
을 입력하여 python 작동하여 줍니다. >>> 이 나오면 세션안에 있음을 알 수 있습니다.
exit()
세션 종료 하여 $가 나오면 python에서 나온것이다.
스크립트가 짧은 경우 아래와 같이 명령 에코하고 python 파일로 리디렉션할 수 있다.
echo "print('hello world") >hello_world.py
이 방법은 명령줄을 절대 벗어나지 않아 워크플로에 대한 중단이 적다는 것입니다.
2. Python package installation with pip
python 의 표준 패키지 관리인 pip을 알아봅시다.
python은 특정 패키지 경우 사용자가 직접 설치해야 합니다. pip을 통해 처리됩니다.
pip -h
-
pip --version
을 사용하여 pip 버전 확인 가능하다. 파이썬 버전과 맞추는 것이 중요! -
pip install --upgrade pip
사용하여 pip 업그레이드 진행할 수 있다.
pip list
사용하여 파이썬 패키지 확인 가능
pip install은 항상 최신의 버전을 다운받습니다. 이전 버전을 설치하여려면 <설치할 패키지>==<버전 지정>을 사용할 수 있습니다.
-r <파일이름>
옵션을 사용하여 지정된 파일에서 패키지를 설치 가능하다.
<파일이름>에 설치할 패키지를 적어두고, -r 인수로 한번에 설치하는 것입니다.
Exercise
# Add scikit-learn to the requirements.txt file
echo "scikit-learn" > requirements.txt
# Preview file content
cat requirements.txt
3. Data job automation with cron
여태까지 한 전체 프로세스를 자동화하는 마지막 단계입니다.
스케줄러
- 스케줄러는 미리 결정된 일정에 따라 작업을 실행하고 데이터 파이프라인을 자동화할 수 있음
- Airflow, Luigi, Rundeck 등 다양한 솔루션 있음
- cron
- 간단하고 무료
- 사용자 정의 가능
- 유닉스 계열에 사전설치됨 => MacOS, Linux에는 존재하지만 Windows에서는 존재하지 않음.
- cron은 bash스크립트, python 파일가지 다양한 작업에 활용 가능
crontab
관리하는 작업, 실행 시기 및 일정과 관련된 기타 지침 등을 기록한 중앙 파일입니다.
crontab -l
명령어로 cron을 통해 예약된 모든 작업(있는 경우)이 표시됨.
man contrab
crontrab에 작업을 추가하는 방법
- text editor로 crontab 파일을 수정
- echo command로 스케줄러 명령을 crontab에 직접 반영
echo "* * * * * python create_model.py" | crontab
crontab -l
올바르게 작업이 예약되었는지 확인할 수 있다.
작업을 예약할 때 미세조정에 대해 알아보면,
cron에는 60초 단위 제한이 있습니다. 우리가 예약할 수 있는 가장 빈번한 작업은 1분에 한 번 실행된다는 것을 의미합니다.
5개의 시간 구성 요소는 아래와 같습니다.
* * * * * python create_model.py
위의 의미는 매월, 매일, 매주, 매분마다 해당 스크립트를 실행하는 것을 의미합니다.
즉, 1분마다 영원히 실행되는 것 입니다.
더 알아보려면 👉🏻 https://crontab.guru/
4. Course recap
배운 내용을 복습합시다!
curl
wget
명령어를 통해 데이터 파일을 다운로드- 데이터 다운로드 -> 데이터 처리의 방법을 배움
csvkit
sql2csv
,csvsql
등을 추가로 해움- 명령줄에서 python 실행, 스케줄링 등록을 배움.
Author And Source
이 문제에 관하여(8-4. Data Pipeline on the Command Line), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@heidi/8-4.-Data-Pipeline-on-the-Command-Line저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)