Written on
·
197
0
빅디님 안녕하세요. 두번째 질문을 올리네요.
현재 일을 하며 주로 저녁시간에 빅디님 강의를 수강 중이기 때문에 빠르게 진도를 나가지는 못하지만 각 하둡에코시스템 내 다양한 프레임워크에 대한 이해와 관심이 생기고 있습니다.
제가 최근에 빅디님 강의와 병행하며 CS 공부를 하던 중 든 생각이 이론적인 부분도 중요하지만 실제로 구현할 수 있는 프로젝트를 별도로 진행해 보고 싶다는 생각이 들었습니다(IT직군 취업을 위해서). 그러면서 자연스럽게 내가 어떤 데이터를 활용할 수 있을까에 대한 고민을 했습니다. 이에 저는 CSV나 JSON 과 같은 데이터를 활용해서 프로젝트를 진행해야겠다는 생각을 했습니다. 실제로 이용되고 있는 서비스와 관련된 프로젝트를 진행하고 싶었거든요.
관련 고민을 이어가면서 인프런 질문 코너도 참고하니 마침 비슷한 질문을 해주신 분이 있었습니다.
(CSV나 JSON 데이터를 Flume으로 땡길 수 있는지에 관한 질문이었습니다.)
그리고 빅디님께서는 Flume은 로그 수집기이기 때문에 질문과 같은 데이터를 핸들링하기 위해서는 파이썬(또는 자바)을 이용해야 한다고 하셨습니다.
그러다 문득든 생각이 있습니다. '데이터 엔지니어는 주로 로그 데이터를 다루는 사람인건가?'라구요.
CSV나 JSON, 이미지, 비디오 등 실제 서비스에서는 다양한 형태의 빅데이터가 생성되고 있는데 이런 데이터는 어떤 식으로 ETL을 하는지 궁금합니다. 아니면 로그데이터 생성에 비해 앞서 언급한 다양한 형태의 데이터는 상대적으로 스몰데이터이기 때문에 RDB를 통해 처리 되는 것인가요? 그렇다면 이 문단의 첫 문장과 같이 데이터엔지니어 직무는 로그 관리와 비슷한 역할로 이해해도 되는 것인가요?
그렇다면,, 빅데이터 엔지니어 포지션으로 가기 위해서 로그데이터에 대한 이해와 그 전처리 과정을 좀 더 심화하면 될까요?
빅디님 강의를 보며 기술적인 부분은 잘 진행되고 있기 때문에 직무에 대한 고민을 남겨 봅니다.
기술적인 질문도 앞으로 지속적으로 하겠습니다. ㅎㅎ
DDK 드림.
Answer 1
0
안녕하세요! "DDK"님!
DDK님께 두번째 답변 드립니다. ㅎㅎ
------------------------------------------------------------------------------------
(CSV나 JSON 데이터를 Flume으로 땡길 수 있는지에 관한 질문이었습니다.)
우선 위의 내용에선 CSV나 JSON 형식이 중요한게 아니라 답변에선 API 방식이 핵심 이었습니다.
즉 플럼은 CSV 나 JSON 같은 파일을 수집 할수는 있으나 API 연동은 하기 어렵다는 의미 이고요..
본론의 질문으로 들어와서요..
Q1. '데이터 엔지니어는 주로 로그 데이터를 다루는 사람인건가?'
--> 절대 아닙니다. 데이터 엔지니어는 로그 뿐만 아니라 File/RDB/NoSQL/HDFS 등을 모두 다루게 됩니다.
Q2. CSV나 JSON, 이미지, 비디오 등 실제 서비스에서는 다양한 형태의 빅데이터가 생성되고 있는데 이런 데이터는 어떤 식으로 ETL을 하는지 궁금합니다.
--> CSV, JSON, 이미지, 비디오 등 모든 파일에는 형식이라는게 있습니다. 대표적으로 CSV는 데이터와 데이터 사이를 딜리미터(콤마, 탭 등)로 구분 하는 형식이고, JSON은 Name/Value 형식으로 이루어져 있습니다. 파일럿 프로젝트에서도 파일 확장자만 .txt 일뿐 CSV 형식이고 이 형식을 규칙으로 하여 설계하고 ETL 처리를 한 것 입니다. 나머지 JSON/이미지/비디오 파일등도 복잡도가 높을뿐..분석에 필요한 형식으로 변환 하여 ETL 처리를 합니다. 이때 JSON 파서, 이미지 파서, 비디오 파서 라는 것을 이용 하게 되고, 파서를 변환기라고도 부릅니다.
Q3. 아니면 로그데이터 생성에 비해 앞서 언급한 다양한 형태의 데이터는 상대적으로 스몰데이터이기 때문에 RDB를 통해 처리 되는 것인가요?
--> 빅데이터는 큰 파일 하나만을 의미하지는 않습니다. 작은 1KB 파일 수천~수백만개를 다루는 경우도 많습니다. 추가로 이미지/비디오 같은 바이너리 파일들은 RDB에 저장을 지양 합니다.
Q4. 그렇다면 이 문단의 첫 문장과 같이 데이터엔지니어 직무는 로그 관리와 비슷한 역할로 이해해도 되는 것인가요? 그렇다면,, 빅데이터 엔지니어 포지션으로 가기 위해서 로그데이터에 대한 이해와 그 전처리 과정을 좀 더 심화하면 될까요?
--> 다시 한번 답변 드리면.. 절~대 아닙니다. 데이터의 유형과 상관 없이 모든 데이터를 다루게 됩니다. 개인적으로 뛰어난 데이터 엔지니어는 아래와 같다고 생각하고 있습니다.
* 데이터 엔지니어 = 데이터엔지니어링 + 데이터분석 + 도메인(업무)지식
- 빅디 올림
빅디님 남겨주신 답글 잘 보았습니다.
제가 큰 오해를 하고 있었네요. ㅜㅜ
더 많이 공부하고 알아가야겠습니다 ㅎㅎ
그럼 프로젝트하면서 짬짬이 API관련 내용을 좀 찾아보겠습니다.
항상 빠르고 친절한 답변 감사드립니다:)