스파크 20

Livy로 Spark Application 실행하기 (3) - 실행 결과 모니터링

Livy 서버를 통해 Spark에 Application을 Submit이 된 이후에는 정상적으로 실행되는지 확인해야 한다. 모니터링하는 방법은 크게 두가지가 있다. Jupyter Notebook에서 Livy에 실행 상태를 조회하는 코드 실행 Livy, Spark, Yarn의 웹 UI를 통한 직접 확인 AirFlow Jupyter 컨테이너를 구성하는 방법은 아래 문서를 참고한다. Jupyter Notebook으로 AirFlow 사용하기 Jupyter Notebook으로 AirFlow를 사용하는 방법에 대해 정리한다. Jupyter Notebook은 파이썬 기반의 데이터 과학에서 자주 사용하는 도구이다. 웹페이지 기반의 대화형 파이썬 인터프리터를 제공하기 때문 www.bearpooh.com Livy 서버와 S..

::: IT인터넷 ::: 2023.10.30

Livy로 Spark Application 실행하기 (2) - Spark Application 실행

Docker 컨테이너 내부 설정이 완료되면, Livy 서버에 Spark Application을 Submit하는 코드를 작성하고 실행한다. Jupyter Notebook은 파이썬 REPL 환경을 제공하기 때문에, 코드 작성과 실행은 Jupyter Notebook을 사용한다. AirFlow Jupyter 컨테이너를 구성하는 방법은 아래 문서를 참고한다. Jupyter Notebook으로 AirFlow 사용하기 Jupyter Notebook으로 AirFlow를 사용하는 방법에 대해 정리한다. Jupyter Notebook은 파이썬 기반의 데이터 과학에서 자주 사용하는 도구이다. 웹페이지 기반의 대화형 파이썬 인터프리터를 제공하기 때문 www.bearpooh.com Livy 서버와 Spark의 설정을 변경하는 ..

::: IT인터넷 ::: 2023.10.26

Livy로 Spark Application 실행하기 (1) - 컨테이너 설정 변경

Livy 서버에 Spark Application 실행을 요청하는 Livy 클라이언트를 구성한다. Livy 클라이언트는 AirFlow를 구성할때 생성한 AirFlow Jupyter 컨테이너에 구성한다. 해당 컨테이너는 Ubuntu 20.04 환경에 conda 가상 환경의 Jupyter Notebook이 실행 중이다. 파이썬 기반의 Livy 클라이언트를 아래 목적으로 실행하는데 편리하다. Livy 서버에 Spark Application을 제출 Livy 서버의 REST API를 호출하여 세션과 배치 작업 제어 굳이 AirFlow와 연동 된 Jupyter Notebook에 Livy Client를 구성한 이유는 다음과 같다. Spark을 이용한 ETL 파이프라인은 AirFlow를 통해 워크플로우를 제어할 것이다...

::: IT인터넷 ::: 2023.10.23

Spark Application 실행을 위한 Livy 서버 설정

Jar 형태로 패키징한 Spark Application을 Spark에 Submit 할 때 Livy를 사용하면 아주 편리하다. 환경 구축은 아래 문서를 참고한다. Livy Server 설치와 설정하기 Hadoop (+ YARN), Spark, Zeppelin의 설정을 마쳤으므로, Spark Job과 Application 제출을 위한 환경을 livy로 구성한다. Bigtop을 이용한 Ambari 설치와 설정 변경은 다음 포스팅을 참고한다. [Ambari 7] Ambari 설정과 Had www.bearpooh.com 그러나 Livy 서버의 기본 설정 만으로는 Jar 형태의 Spark Application을 실행하는데 아래와 같은 제약이 있다. 의존성 라이브러리 다운로드를 위한 내부 저장소 접근 불가 (프록시,..

::: IT인터넷 ::: 2023.10.19

Spark Application 패키지 작성하기 (5) - 테스트 작성과 빌드, 배포

기본적인 Scala 개발환경이 구축되고 나면 목표로 했던 Spark Application을 작성한다. 앞서 테스트에 사용한 Spark Application은 main 함수에 기능을 구현한 단순한 예제 프로그램이다. 기존에 Hadoop 기반의 Spark 클러스터를 구축했으므로, Spark Application은 해당 환경에서 실행할 수 있는 형태로 작성해야 한다. 따라서 Spark Application 작성을 위한 기본 형태 (Skeleton) 제공을 위한 예제 프로그램을 재작성한다. 참고로 예전에 실무에서 활용했던 Spark Application 코드에서 재사용 또는 공개가 가능한 코드만 활용하여 정리하였다. 전체적인 내용은 아래 문서를 참고하고, 변경 사항을 중심으로 정리한다. 간단한 Spark App..

Spark Application 패키지 작성하기 (4) - 비즈니스 로직 작성

기본적인 Scala 개발환경이 구축되고 나면 목표로 했던 Spark Application을 작성한다. 앞서 테스트에 사용한 Spark Application은 main 함수에 기능을 구현한 단순한 예제 프로그램이다. 기존에 Hadoop 기반의 Spark 클러스터를 구축했으므로, Spark Application은 해당 환경에서 실행할 수 있는 형태로 작성해야 한다. 따라서 Spark Application 작성을 위한 기본 형태 (Skeleton) 제공을 위한 예제 프로그램을 재작성한다. 참고로 예전에 실무에서 활용했던 Spark Application 코드에서 재사용 또는 공개가 가능한 코드만 활용하여 정리하였다. 전체적인 내용은 아래 문서를 참고하고, 변경 사항을 중심으로 정리한다. 간단한 Spark App..

Spark Application 패키지 작성하기 (3) - 데이터 처리 로직 작성

기본적인 Scala 개발환경이 구축되고 나면 목표로 했던 Spark Application을 작성한다. 앞서 테스트에 사용한 Spark Application은 main 함수에 기능을 구현한 단순한 예제 프로그램이다. 기존에 Hadoop 기반의 Spark 클러스터를 구축했으므로, Spark Application은 해당 환경에서 실행할 수 있는 형태로 작성해야 한다. 따라서 Spark Application 작성을 위한 기본 형태 (Skeleton) 제공을 위한 예제 프로그램을 재작성한다. 참고로 예전에 실무에서 활용했던 Spark Application 코드에서 재사용 또는 공개가 가능한 코드만 활용하여 정리하였다. 전체적인 내용은 아래 문서를 참고하고, 변경 사항을 중심으로 정리한다. 간단한 Spark App..

Spark Application 패키지 작성하기 (2) - 헬퍼 기능 작성

기본적인 Scala 개발환경이 구축되고 나면 목표로 했던 Spark Application을 작성한다. 앞서 테스트에 사용한 Spark Application은 main 함수에 기능을 구현한 단순한 예제 프로그램이다. 기존에 Hadoop 기반의 Spark 클러스터를 구축했으므로, Spark Application은 해당 환경에서 실행할 수 있는 형태로 작성해야 한다. 따라서 Spark Application 작성을 위한 기본 형태 (Skeleton) 제공을 위한 예제 프로그램을 재작성한다. 참고로 예전에 실무에서 활용했던 Spark Application 코드에서 재사용 또는 공개가 가능한 코드만 활용하여 정리하였다. 전체적인 내용은 아래 문서를 참고하고, 변경 사항을 중심으로 정리한다. 간단한 Spark App..

Spark Application 패키지 작성하기 (1) - 전체 구조와 기본 설정

기본적인 Scala 개발환경이 구축되고 나면 목표로 했던 Spark Application을 작성한다. 앞서 테스트에 사용한 Spark Application은 main 함수에 기능을 구현한 단순한 예제 프로그램이다. 기존에 Hadoop 기반의 Spark 클러스터를 구축했으므로, Spark Application은 해당 환경에서 실행할 수 있는 형태로 작성해야 한다. 따라서 Spark Application 작성을 위한 기본 형태 (Skeleton) 제공을 위한 예제 프로그램을 재작성한다. 참고로 예전에 실무에서 활용했던 Spark Application 코드에서 재사용 또는 공개가 가능한 코드만 활용하여 정리하였다. 전체적인 내용은 아래 문서를 참고하고, 변경 사항을 중심으로 정리한다. 간단한 Spark App..

Scala 빌드 파이프라인 설정하기 (2) - 빌드와 배포

Jenkins와 연동한 Scala 빌드 머신을 활용하여 실제 Spark Application을 빌드하고 배포한다. Jenkins에 Spark Application의 빌드를 생성하는 방법은 아래 문서를 참고한다. Scala 빌드 파이프라인 설정하기 (빌드 생성) Jenkins와 연동한 Scala 빌드 머신을 활용하여 실제 Spark Application을 빌드하고 배포한다. Scala 빌드머신을 Jenkins에 연동하는 방법은 아래 문서를 참고한다. Jenkins에 Scala 빌드머신 연동하기 (Jenkins 연 www.bearpooh.com Scala 빌드머신을 Jenkins에 연동하는 방법은 아래 문서를 참고한다. Jenkins에 Scala 빌드머신 연동하기 (Jenkins 연결) Scala 빌드 머신..

::: IT인터넷 ::: 2023.08.31