데이터 엔지니어링
-
[Spark] 스파크란 무엇인가?(spark 등장배경, 쓰는이유, 빠른이유)데이터 엔지니어링/Spark 2022. 6. 18. 19:25
스파크란? 빅데이터 처리를 위한 오픈 소스 고속 분산처리 엔진이다. 스파크를 알기 위해서는 빅데이터의 문제를 알아야 한다. 우리가 아는 빅데이터랑 많은 양의 데이터를 뜻한다. 그런데 지금 빅데이터를 쌓아 오면서 생기는 문제점이 있었다. 빅데이터 문제 데이터의 규모가 증가 데이터 규모의 증가로 인한 처리 속도 문제 데이터 포맷의 다양성 증가 빅데이터를 축적하여 활용할려 봤더니 데이터가 너무 많이 쌓이고, 그래서 이 규모를 처리할려고 하니 속도가 문제가 됬으며, 또한 파일 포맷( CSV, AVRO, Parquet등등) 엄청나게 다양한 파일 포맷이 등장하면서 종류도 많아졌다. 빅데이터 처리를 하기 위해서 많은 고민들을 해오게 되었다고 한다. Apache Hadoop의 등장 이를 처리 하기 위해서 yahoo에서..
-
[데이터 엔지니어링 설치 방법 정리] Hadoop, spark, pyspark, anaconda (feat. windows 10)데이터 엔지니어링/Spark 2022. 6. 18. 17:41
데이터 엔지니어링에 필요한 툴 설치 방법 정리 스파크 공부를 하기 위해서 먼저 다른 툴들을 설치할려고 했는데, 다른 툴들도 다 설치가 필요하더라 그래서 한꺼번에 정리하는 것이 좋을 것 같아 포스팅하게 되었다. 스파크는 java, python, scala를 모두 제공하는 프로그램이다. 그래서 스파크를 사용하기 위해서는 java(scala는 java기반으로 만들어진 언어)와 python을 구축해놓으면 된다. 다른 패키지들은 spark를 사용하여 데이터 처리를 하기 위해 사용되는 패키지들이여서 다운로드 받아 둔다. 그리고 이 환경을 구축하기 위해 모든 설치를 도와주는 툴이 있는데 이 anaconda이다 anaconda를 이용하여 설치 해보자. Anaconda 다운로드 먼저 anaconda 설치 아나콘다 사이트..
-
[Apache Nifi] RPG(Remote Processor Group)를 이용하여 모듈처럼 파이프 라인 관리하기, or site to site 구성하기데이터 엔지니어링/Nifi 2022. 6. 17. 10:48
RPG(Remote Processor Group)이란? Remote은 원격을 의미하며 원격에 있는 Processor Group을 조작 할 수 있다는 것입니다. site to site 다른 서버에 flowfile을 보내서 사용도 가능하며, localhost를 연결하여 flowfile을 보낼 수도 있습니다. 그래서 이를 응용하여 이용할 수도 있는데, 예를 들어 nifi를 구성하다 보면 하나의 특정 기능을 하는 processor group으로 만들어 사용하는 경우가 많은데, 서비스가 커지면서 이 processor group을 연결하는 Connector가 많아지면 너무 복잡하게 processor group을 실행하는 것 처럼 보일 수 있어 너무 어지럽고 플로우 파악도 잘 안되는 경우가 있어 remote proc..
-
[Apache Nifi] Parameter Context를 설정하여 전역 변수처럼 변수들 사용하기데이터 엔지니어링/Nifi 2022. 5. 26. 14:12
nifi - Parameter Context에 대해 알아보자, Parameter Context를 사용하면 Context(문맥)에 맞게 지역, 전역으로 값을 할당하여 동일한 값을 매칭 하는게 가능하다. 순서 Parameter Context 생성 방법 Parameter Context 설정의 이해 settings parameter inheritance Parameter Context 설정법 Parameter Context 적용 되었는지 테스트 Parameter Context 생성 방법 먼저 nifi화면을 보면 오른쪽 위에 메뉴바가 있음 - 메뉴바를 클릭 아래와 같은 팝업창이 뜨게 되는데 Parameter Contexts를 클릭하면 Parameter Context를 설정하거나 설정된 Parameter Conte..
-
[Apache Nifi]ListenHttp 프로세서 알아보기데이터 엔지니어링/Nifi 2022. 5. 26. 13:41
ListenHttp란? Listen = 듣다, Http = 웹 프로토콜 → 즉, http가 호출 되는지 듣는 Processor이다. ListenHttp Processor를 활용하면, http에 보내준 xml, json데이터를 활용하여 다른 Processor들이나 로직을 실행 시킬 수 있다. 준비 사항 먼저 열려져있는 ip주소가 있어야함(자기자신 주소(ip나 도메인)로 설정하면 됨) ListenHttp에서 사용할 Port가 있어야함 실행 순서 ListenHttp 프로세서 만들기 ListenHttp 프로세서 properties(주소명칭, 포트번호)를 설정 실행 내용 테스트 해보기 1. ListenHttp 프로세서 만들기 2. ListenHttp 프로세서 properties(주소명칭, 포트번호)를 설정 1번은..
-
[Apache NIFi] Template을 이용하여 작업한 패턴 백업하고 사용하기데이터 엔지니어링/Nifi 2022. 5. 21. 17:41
테스트 서버에서 만들어 놓은 것을 옮기는 작업이 필요한 경우가 있음 그런 경우를 대비하여 두번 작업하지 않게 백업을 하는 경우와 작업한 것을 template으로 만드는 것을 해볼 것임 목차 선행 내용 - 작업한 Processor들 Processor그룹들이 있어야함 만들어 놓은 processor들 template으로 저장하기 저장한 내용 확인 저장한 내용 다운로드 다운로드한 template 다른 nifi에 등록하기 등록한 template 사용하기 만들어 놓은 Processor들 template으로 저장하기 왼쪽 에 create Template 아이콘 클릭 그럼 아래와 같은 창이 뜨는 데 name은 필수로 작성하여야 함 작성하고 create 저장한 내용 확인 하기 오름쪽 메뉴 아이콘 → templates 클..
-
[Apache NIFI] ExecuteStreamCommand Processor 알아보기(Flow 도중 Bash, Script NIFI에서 실행하기)데이터 엔지니어링/Nifi 2022. 5. 7. 14:45
ExecuteStreamCommand? Stream(Flow가 실행하는 중)도중에 Command(bash shell)라인 실행하는 프로세서임 nifi에서 해결할 수 없는 python, go , javascript등을 실행하게 도와주는 역할을 함 기본 적으로 실행하는 명령어는 bash로 되어있는데 #!/usr/bin/python3 ( = bash sheBang )를 이용하여 bash 내부가 python, go등으로 실행 할 수 있도록 환경 변경이 가능하기 때문 Processor를 생성을 하면 아래와 같은 모양을 가지며, Stream 도중에 발생하는 프로세스 이기 때문에 아래와 같이 꼭 선행 Processor relationship이 있어야 한다. Property 설정 하기 Command Arguments로..
-
[Apache NIFI]RouteOnAttribute Processor 알아보기데이터 엔지니어링/Nifi 2022. 4. 29. 23:32
안녕하세요 Processor중에 RouteOnAttribute를 알아보도록 하겠습니다. NIFI에 많은 Processor중에 RouteOnAttribute를 알아보는 이유는 RouteOnAttribute로 판단값에 따라 분류를 하기 때문입니다. 먼저 내용을 요약해 보면 아래와 같습니다. Route + On + Attribute = 노선 + 속성 Attribute는 nifi에서 쓰는 Key/Value를 나타내는 것 Route = 노선 → 분기를 나눠준다는 뜻(React router와 뜻 측면에서 똑같다고 보면됨 ) 즉, RouteOnAttribute란 속성값 조건을 넣을 수 있고, 그 조건에 맞는 분기를 다루게 해주는 Processor임 아래를 보면서 이해 하자. 정확히는 정규표현식이나 내장함수를 이용하여..