전체 글 (68) 썸네일형 리스트형 Apache Airflow 가이드 데이터 오케스트레이션 프레임 워크 Apache Airflow는 여러가지 태스크들(데이터셋 생성, 모델 학습 등)을 일련의 그래프로 연결하고 스케줄링, 모니터링 등 파이프라인 관리를 위한 다양한 기능을 제공하고 있는 Workflow Management Platform입니다. 다음은 Airflow에서 자주 사용되는 기본 개념과 용어입니다. DAG :Airflow에서 DAG (Directed Acyclic Graph)는 서로에 대한 종속성이 있고 일정에 따라 실행되는 작업 그룹입니다. 각 DAG는 논리적 워크 플로와 동일합니다. DAG 실행 : DAG에의 실행 특정입니다. 연산자 :연산자는 특정 유형의 작업에 대한 템플릿 역할을하는 Python 클래스입니다. 예를 들면 다음과 같습니다. BashOperator.. 우분투 인코딩 변경~ 인코딩확인 $ file -bi 10-20stt.csv $ file -bi [파일명] 파일 인코딩 변환 $ iconv -c -f euc-kr -t utf-8 ko\_add\_keyword\_template.csv > aa.csv $ iconv -c -f [변경전 인코딩] -t [변경인코딩] [기존 파일명] > [저장될 파일명] Docker-compose 이 글은 우분투 환경에서 작성되었습니다. 현재 내가 구동 중인 docker-compose.yml 파일 어렵게 생각했었는데 docker run 할때 요소들이 녹아 든것 뿐 어렵지않다. 정정 어려운듯 싶다. 다른 docker-compose 파일에 이전 docker images를 적용할때 줄이 맞지 않아 문제가 발생하기도 했다. 안되면 꼭 줄확인 (특히, 복붙시에) 그리고 $ docker-compose down 후 docker-compose 파일을 고쳐봐야 아래입력한 설정값들은 적용안되므로 $ docker ps 로 확인 cp $ docker rm -f [NAMES or CONTAINER ID]를 입력한다. version: "3.7" # 파일 규격 버전 # docker-compose 버전으로 버전3부터는 lin.. async def / asyncio asyncio(Asynchronous I/O)는 비동기 프로그래밍을 위한 모듈이며 CPU 작업과 I/O를 병렬로 처리하게 해줍니다. 동기(synchronous) 처리는 특정 작업이 끝나면 다음 작업을 처리하는 순차처리 방식이고, 비동기(asynchronous) 처리는 여러 작업을 처리하도록 예약한 뒤 작업이 끝나면 결과를 받는 방식입니다. 먼저asyncio를 사용하려면 다음과 같이async def로 네이티브 코루틴을 만듭니다(파이썬에서는 제너레이터 기반의 코루틴과 구분하기 위해async def로 만든 코루틴은 네이티브 코루틴이라고 합니다). import asyncio loop = asyncio.get\_event\_loop() #이벤트 루프를 얻고 loop.run\_until\_complete(print.. pyspark AIRFLOW + PYSPARK 이 글은 우분투 기준으로 작성되었습니다. 0. 환경셋팅 docker 환경 다운 $ docker pull jo1013/pyspark:0.05 $ docker pull jo1013/airflowex:0.06 $ docker pull mysql:8.0.17git clone $ git clone https://github.com/jo1013/pyspark.git $ cd pyspark1. 실행 명령어 $ docker-compose up ## mysql pyspark airflow(postgresql) 컨테이너실행airflow만 실행 명령어 $ cd Airflow $ docker run -it -d -p 8090:8080 -v ~/workspace:/home -e LC_ALL=C... Git Git의 사용이유를 잘설명해놓은 댓글 만약 프로그래밍을 하신다면, 실제 배포 되어 사용중인 코드가 있을거고, 기능 개발중인 코드가 있을거예요. 아직 한창 개발중인 프로그램인데 갑자기 고객사로부터 이슈가 도착해서 급하게 수정을 들어가야 하는 경우, 내가 지금 개발하고있는 신기능이 포함된 코드에서 수정을 하게 되면 실제 배포할 때 미완성 된 신기능도 같이 섞여서 들어가게 될 겁니다. 그렇기 때문에 현재 배포 되어있는 버전에서 브랜치를 파생해서 개발 브랜치를 만들어 신기술을 해당 브랜치 내에서 작업하면, 급하게 버그 요청이 들어왔을 때 마스터 브랜치에서 다시 이슈 픽스 브랜치를 파생해서 해당 브랜치에서만 버그를 고쳐서 병합을 진행하면 현재 내가 개발하고있는 신기술은 개발 브랜치에 온전히 있는 상태에서 배포 된.. Docker-Compose로 구현 (Airflow + postgresql) + (pyspark+jupyter) + (mysql) AIRFLOW + PYSPARK 이 글은 우분투 기준으로 작성되었습니다. 0. 환경셋팅 docker 환경 다운 $ docker pull jo1013/pyspark:0.05 $ docker pull jo1013/airflow:0.07 $ docker pull mysql:8.0.17 git clone (글쓴이는 /home/workspace 에서 실행) $ git clone https://github.com/jo1013/pyspark.git $ cd pyspark 1. 실행 명령어 $ docker-compose up ## mysql pyspark airflow(postgresql) 컨테이너실행 (docker-compose.yml에서 3개의 container는 본인의 volumes에 맞게 수정한다.) 2. 다른.. Docker(도커) 를 사용하면서 필요한 기본적인 명령어 이 글은 리눅스(우분투) 기준으로 작성되었습니다. Docker 설치 $ curl -fsSL https://get.docker.com/ | sudo sh sudo를 제외해서 명령어 사용하기 $ sudo usermod -aG docker your-user # your-user 사용자에게 권한주기 $ sudo usermod -aG docker $USER # 현재 접속중인 사용자에게 권한주기 도커 버전확인 $ docker version Docker image는 docker hub 에 들어가서 검색할 수 있지만 귀찮다면 $ docker search python $ docker search [필요한 라이브러리] 출처 : subicura.com/2017/01/19/docker-guide-for-beginners-2... 이전 1 2 3 4 5 6 7 ··· 9 다음