Posts

Showing posts from September, 2020

Apache Airflow 설치해보기

Image
 서론 Spark를 사용하여 Big Data Processing을 하게 되면서 일정 시간마다 처리할 수 있도록 도와주는 프로세서를 찾게 되었고, 여기에서 NiFi와 Airflow가 눈에 들어왔다. 그래서 NiFi(나이파이인지, 니피인지는 모르겠다)를 사용해보려고 했지만 구닥다리인 UI 덕분에 쓸 생각이 없어졌고, Airflow가 여기에서는 우위에 있다고 생각해서 Airflow를 사용해보려고 한다. 본론 설치[2] $ which python 여기서는 당연히 파이썬을 필요로 하고, Python3이상의 버전을 사용하는 것을 권장한다. (Python 2는 이미 관짝에 봉인된지 오래다.) 그래서 Python을 설치한 후 PATH 에 Python을 잡아주어 Python, PyPi Installer 및 airflow 커맨드를 사용할 수 있도록 해주자. $ export AIRFLOW_HOME=~/airflow 해당 명령은 넣어도 되고 안넣어도 된다. 지정한 폴더 내에 데이터베이스가 쌓이기 때문에 변경해야 할 필요성이 있는 경우 해당 폴더를 변경해서 사용하면 충분할 것 같다. 데이터베이스도 Sqlite외에 다른 DB 엔진을 사용해도 되는 것으로 보인다. 공식 문서[1]에서 이야기하기로는 MySQL이나 PostgreSQL을 사용하라고 권장하고 있는데, 기본으로 제공되는 Sqlite 를 사용해도 무방한 문제라고 본다. [사진 1] 라고 쓸려고 했는데 PostgreSQL로 이전하는게 좋아 보인다... 쩝... $   pip install apache-airflow 해당 명령을 통해서 Apache Airflow를 설치하게 되고 $   airflow initdb 해당 명령을 통해서 데이터베이스를 초기화하게 된다. $AIRFLOW_HOME을 지정하지 않으면 내 홈 디렉토리에 airflow 폴더에 생성된다. $   airflow webserver -p 8080 해당 명령을 실행시키면 WebServer을 실행시킬 수 있고. $   airflow scheduler 해당 명령을 사용하면 Air

Mac에서 Scala Spark Jupyter Notebook을 사용해보기

Image
음... 심심해서 몇가지 테스트 겸 공부해보기 위해서 Spark 를 공부해보고 있다. 사용할때 Jupyter Notebook을 통해 Scala를 사용할 수 있는 "spylon-kernel" 이라는게 있어서 한번 사용해보려 한다. 설치를 위해서는 1) Python 2) Scala 3) Spark 를 설치하여야 한다. Jupyter Notebook을 돌리기 위해서 Python을 설치해야 하고, Spark를 돌리기 위해서 JAVA가 필요하며, Spark위에서 작업을 하기 위해서는 Scala가 필요하다. 대충 공부 소꿉놀이 를 위해서는 PySpark를 사용해도 무방하다. 자바를 한번도 해본적은 없지만 (업무에서는 Golang을 사용하고 있다.) PySpark보다는 Scala를 사용하는게 나은 선택인 것 같아서 사용한다. 이전에 Spark를 공부했을 때는 PySpark를 사용했었으나, Production을 가정하고 사용할때는 Scala를 사용하는 것이 나은 것 같다. Python: http://python.org 에 접속해 파이썬을 다운로드 받는다. 윈도우에서 입력하면 윈도우 스토어를 통해서 설치된다고 알고 있으나, 공식문서에서 다운로드 받는게 좋다고 본다. Java: https://adoptopenjdk.net/ 에 접속해 자바를 다운로드 받는다. 환경변수 (JAVA_HOME, PATH 등) 설정은 해야한다. Scala: https://www.scala-lang.org/ 에 접속해 스칼라를 다운로드 받는다. 이 역시도 알아서 잘 설정하면 된다. SBT로 한방에 설치했다. (brew install sbt) Spark: https://spark.apache.org/ 에 접속해 스파크를 다운로드 받는다. 이 역시도 알아서 잘 설정하면 된다. SPARK_HOME 환경변수를 설정한 후 이 역시도 PATH설정을 맞출 것. Spylon-Kernel[1] 설치 $ pip install spylon-kernel $ python -m spylon-kernel inst