[Spark] 스파크 간단 스터디 3
·
Data Engineering/Spark
CHAPTER 8. 조인¶ 다양한 데이터셋 조합으로 조인은 거의 모든 스파크 작업에 필수 8.1 조인표현식¶ 키값을 비교하여 데이터셋과 오른쪽 데이터 셋의 결합여부를 결정하는 조인 표현식의 평가 결과에 따라 두개의 데이터 셋을 조인 가장 많이 사용하는 조인 : 동등 조인(왼.오른쪽 데이터셋에 지정된 키가 동일한지 비교) 일치하는 키가 없는 로우는 조인에 포함시키지 않음 복합 데이터 타입을 조인에 사용할 수 있음 8.2 조인 타입¶ 데이터셋에 어떤 데이터가 있어야 하는지 결정 In [1]: //스칼라 코드 val person = Seq( (0, "Bill Chambers", 0, Seq(100)), (1, "Matei Zaharia", 1, Seq(500, 250, 100)), (2, "Michael Ar..
[Spark] 스파크 간단 스터디 2
·
Data Engineering/Spark
1. 스파크 운영용 애플리케이션 Spark-submit 명령을 사용해 대화형 셀에서 개발한 프로그램을 운영용 애플리케이션으로 쉽게 전환 가능 해당 명령은 애플리케이션 코드를 클러스터에 전송해 실행시키는 역할 2. Dataset 타입 안정성을 제공하는 구조적 api 정적 타입 코드를 지원하기 위해 고안된 스파크의 구조적 api 타입안정성을 지원하며 동적 타입 언어인 파이썬과 R 에선 사용 불가 3. 구조적 스트리밍 스트림 처리용 고수준 api 배치모드의 연산을 스트리밍 방식으로 실행할 수 있으며, 지연 시간을 줄이고 증분 처리할 수 있음 배치 처리용 코드를 일부 수정하여 스트리밍 처리를 수행하고 값을 빠르게 얻을 수 있는 장점 존재 스트리밍은 트리거가 실행된 다음 데이터를 갱신하게될 인메모리 테이블에 데이..
[Spark] 스파크에 대한 간단 스터디 1
·
Data Engineering/Spark
1. 스파크란 스파크는 통합 컴퓨팅 엔진이며, 클러스터 환경에서 데이터를 병렬로 처리하는 라이브러리 집합. 널리 쓰이는 언어(파이썬, 자바,스칼라,R) 을 지원하며 SQL 뿐만 아니라 스트리밍, 머신러닝에 이르기까지 넓은 범위의 라이브러리를 제공한다. 2. 스파크의 특징 HDFS 사용 – 하둡의 파일시스템 기반 동작 직관적 이해 – 스칼라 기반 최소화 코드로 작성 RDD – RDD 단위로 데이터 연산을 수행 3. 스파크 철학 1) 통합 간단한 데이터 읽기부터 SQL 처리, 머신러닝 그리고 스트림 처리에 이르기까지 다양한 데이터 분석작업을 같은 연산 엔진과 일관성있는 API 로 수행할 수 있도록 설계. 2) 컴퓨팅 엔진 통합관점의 중시하면서 기능의 범위를 컴퓨팅 엔진으로 제한, 그 결과 저장소 시스템의 데..
[ NiFi ] 8. NiFi Altanative & Competitors
·
Data Engineering/NiFi
1. 개요 NiFi 에 대해서 잘 파악하려면 NiFi 의 대체재들과 경쟁자들에 대해서 어느정도는 숙지를 하고 있는 것이 좋을 것 같다. 지금까지 NiFi 에 대해 공부하면서 NiFi 는 하나의 이벤트 스케쥴러 같다는 것이다. 아래의 특징은 G2.com 에서 각 플랫폼에 대한 리뷰와 정보를 참고하여 정리했다. 순위는 이 부분을 클릭하면 된다 2. Altanative & Competitors #1 snaplogic Intelligent Integration Platform(IIP) 어플리케이션 또는 데이터 소스 빌드를 위한 통합 구성요소의 모듈러 컬렉션 self-service-integration 분야의 선두를 달리고 있음 어플리케이션, 데이터, APIs 간의 년결을 쉽고 빠르게 만들어주는 플랫폼을 지향 어..
[ NIFI ] 7. Apache NiFi Overview
·
Data Engineering/NiFi
나이파이에 대해 공부하면서 NIFI DOCS 에 있는 글을 공부하며 정리한 것이다 번역에 있어 많이 매끄럽지 못한 부분이 있을 수 있다. 원본이 궁금하면 아래 링크 참고 https://nifi.apache.org/docs.html Apache NiFi Documentation Copyright © 2018 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, NiFi, Apache NiFi and the project logo are trademarks of The Apache Software Foundation. nifi.apache.org 1. NIFI ..
[ NiFi ] 6. Json 파일을 CSV 파일로 변환하기
·
Data Engineering/NiFi
1. 개요 Json 파일을 CSV 파일로 변환하여 특정 경로에 저장하는 프로세스를 기록하고자 한다. 이전 게시물에서 사용했던 프로세서와 일부 외부에서 일부 내용을 참고했다. 전체적인 프로세스는 아래 이미지와 같다 2. JSON to CSV 1) 파일 가져오기 GetFile 프로세서는 특정 경로에 있는 파일을 가져오는 프로세서이다. 환경설정에 들어가서 properties 를 클릭하면 input directory 라는 property 에 input 하고자 하는 파일들이 있는 경로를 지정해주면 알아서 파일을 가져온다 2) split json (json 파일 분할하기) 이번에 사용한 json 파일의 내용은 아래와 같다 { "person":[ { "name": "Bob", "age": "16", "employed..
[ NiFi ] 5. Api 데이터를 가공하여 MySQL 로 보내기
·
Data Engineering/NiFi
1. 개요 이번에는 외부 API 를 추출하고 난 다음에 MySQL 에 넣어보는 사례를 기록하고자 한다. REST API를 불러와서 -> json형식으로 변환 -> 데이터베이스에 삽입 의 프로세스이다 전체적인 경로는 아래 이미지와 같다. 2. 외부 API -> MySQL 순서 이번 API 는 항공기 관련 정보들이 있는 aviationstack 에서 가져왔으며, url 은 아래와 같다 aviationstack.com/ aviationstack - Real-Time Flight Tracker & Status API Free, Real-time Flight Status & Global Aviation Data API Flight tracker & airport timetable data web service t..
[ NiFi ] 4. 리눅스에서 MySql 로 데이터 보내기
·
Data Engineering/NiFi
1. 개요 기본적인 튜토리얼에서 벗어나 NiFi 를 통해 좀 더 심화된 프로세스를 구축하는 연습을 하기위해 해당 포스팅을 작성했다. 추후 NiFi 를 사용할 일이 있을 때, 해당 포스팅을 참고하여 연습해야겠다. 완성된 직후, 전체적인 프로세스는 아래와 같다. 리눅스에 있는 편집한 csv 파일을 읽어들인 후에 json 형태로 변형시키고 나서 MySql 에 저장하는 프로세스이다. 2. 리눅스 -> MySql 프로세스 순서 우선, 해당 포스트는 리눅스 서버에 MySql 을 설치했다는 가정하에 시작한다. 리눅스 버전은 Cent OS 7 을 사용했으며, MySql 로는 MySql 8 버전을 사용했다. 1) 데이터를 리눅스 서버에 넣고 mysql 에 데이터 베이스와 테이블을 생성한다. 실습을 위해 필요한 데이터를 ..
[ NiFi ] 3. NiFi 튜토리얼
·
Data Engineering/NiFi
1. 개요 추후 회사 프로젝트에 대비해 NiFi 사용법에 대해 공부중이다. 공부하면서 익힌 부분들을 추후 다시 복습하기 위해 블로그에 남겨본다. 우선 앞의 과정을 통해 NiFi 를 설치했다는 가정 하에 진행한다. 그리고 전체적인 튜토리얼 진행은 kwangsiklee 님의 블로그 에서 발췌한 내용의 흐름을 따라가고 있으며, 발생한 상황에 따라 일부를 좀 더 추가해 보강했다. 2. NiFi 테스트 NiFi에서 이벤트를 받아 Flow File 을 생성하는 모습을 확인한다. Tailing 프로세스를 만들어 실제 Tailing 된 Flow File 을 볼 예정이다 1) Processor 추가하기 특정 파일 Tailing 을 위해 TagFile 프로세스를 추가한다. nifi의 경우 특정 프로세스를 만들고 싶은 경우..
[ NiFi ] 2-3. NiFi 설치하기 - Docker
·
Data Engineering/NiFi
1. 개요 도커는 최근에 가장 많이 사용하고 있는 가상 컨테이너 기술이다. 도커를 하나 구성하고 그 안에 운영체제 등 여러가지 프로그램을 설치하고 각각 따로 돌리면서 필요에 따라 연계할 수 있기 때문에 NiFi 도 Docker 에 많이 설치하여 사용하고 있다. 2. 설치 방법 1) 도커를 설치한다 - 도커를 설치하는 방법은 아래 링크를 참고할 것 snepbnt.tistory.com/404 [Docker] 리눅스에 도커 설치하기 1. 개요 리눅스에 도커를 설치하는 방법을 기록하고자 한다. CentOS 7 을 사용했다. 2. 설치방법 1) 설치 전 리눅스 시스템을 업데이트 한다 $ yum -y update 만약에 Cannot find a valid 로 시작하는 에러가 나 snepbnt.tistory.com ..