인프런 커뮤니티 질문&답변

jjanec님의 프로필 이미지
jjanec

작성한 질문수

스파크 머신러닝 완벽 가이드 - Part 1

spark 엔지니어가 되는방법?

작성

·

623

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
안녕하세요. 강사님. 강사님의 머신러닝, CNN과 CV 강의도 듣고 있는 학생입니다. spark강의도 수강신청하게 되었습니다~
다름 아니고 예전에는 머신러닝/딥러닝 모델러가 꿈이였는데 요즘은 데이터 처리와 머신러닝 자동화, 파이프라인 같은 엔지니어링 쪽이 더 관심이 커졌습니다. 빅데이터 엔지니어링(하둡) 분야 보다는 머신러닝/딥러닝 업계로 가고싶긴합니다..
무엇보다 취업을 하고싶은 취준생으로서 방향을 어찌잡아야할지 모르겠어서 질문드립니다...
1. 채용공고를 찾아보니 spark 수요가 생각보단 없는것(?)같은데 spark와 머신러닝/딥러닝 엔지니어면 경쟁력이 좋을까요?
2. 머신러닝 파이프라인, 데이터 처리, 자동화 쪽 엔지니어 수요나 비전이 어떨까요?
현재 한줄 아는건 oracle sql, tensorflow(머신러닝/딥러닝) 정도입니다.
3. spark 공부를 시작하면서 요즘은 TFX나 tensorRT같은것도 공부하려는데 어떨까요?
4. 강사님께서 추천해주시는 공부 루트같은게 있을까요?
 
+ 스파크를 이용한 딥러닝쪽도 강의계획이 있으신가요?
 

답변 3

0

안녕하세요 권 철민 강사님 ! 위의 분과 비슷한 질문?을 드리고 싶습니다

 

저는 데이터 엔지니어 진로를 희망하고 현재 airflow 라는 기술을 배우고 있습니다

이 airflow 라는 기술을 스파크나 하둡 플랫폼 얹어야 하는데 

둘 중 파이썬 기반인 스파크를 선택하였는데 

스파크에 대한 지식이 부족하다보니 인프런의 유일한 권 철민 강사님 스파크 강의를 찾아오게 되었습니다

 

질문 : 

이 강의는  etl 파이프라인 등 데이터 엔지니어링 구축 보다 머신러닝쪽인거 같은데 

데이터 엔지니어링 쪽으로도 공부할 수 있는 파트가 있나요..? 

데이터 엔지니어쪽 파트와 연관이 있다면 1탄부터 추후 나오는 2탄까지 모두 강의 신청하겠습니다!ㅠㅠ

 

 

0

선생님 답변 감사드립니다. 질문자는 아니지만 답변에 추가로 문의드립니다.

 

답변 중에 SQL을 추가로 공부해보라는 말씀이

 

1. "고급" SQL 문법을 공부하라는 뜻인가요?(예 : 서브쿼리, windowing 등등)

2. 아니면 이것이 아니라, 더 높은 수준의 SQL 구조나 프로그램 작동원리(?) 를 공부하라는 뜻인가요?

 

만약 2라면, 2를 공부할 수 있는(또는 무엇을 공부해야 할지 알아볼 수 있는) 방향이나 책, 강의 를 추천해주실 수 있으시면 정말 감사하겠습니다!

 

 

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

1. 음, 개인적으로는 서브쿼리와 window 함수가 고급 SQL 문법이 아니라 기본이라고 생각되지만, 보는 사람에 따라서는 그렇게 생각될 수도 있겠군요. 아뭏튼 서브쿼리, window함수등을 포함한 SQL기본 사항은 탄탄하게 갖추면 좋습니다.  데이터 파이프라인이든, 스파크든 결국은 SQL을 많이 활용해서 데이터 가공을 합니다. 

2. SQL의 작동원리는 성능적인 부분이 강하니까, 별도 영역이라고 생각합니다. SQL을 잘사용한다는 것은 데이터 세트를 잘 다루고, 집합을 잘 만든다는 의미 입니다. 이게 좀 추상적이어서 글로 설명하기는 어렵지만,  결국은 원천데이터를 ETL등을 통해서 DW든, DM 형태든 정제된 분석 데이터 세트로 만들어야 하는데, 그럴려면 SQL을 이용해서 원하는 집합을 자유자재로 만들 수 있어야 합니다. 

이게 단순히 SQL만 알아서는 안되고, 부지런히 데이터를 가공해 보면서 실력을 키워나가야 하는 부분입니다. 당연히 Join, 서브쿼리, Group by, Group by case when, window함수는 기본적으로 알고 이들을 활용해서 집합을 만들수 있는 능력을 꾸준히 키워 나가면, 어느새 SQL을 잘 활용하는 경지에 이를 것입니다. 

아하! 즉, 데이터베이스에 대한 컴퓨터공학 적인 지식이 아니라, sql을 활용해서 현실 문제를 얼마나 잘 해결할 수 있는지를 말씀하신 것이었군요

연휴인데 답변 정말 감사드립니다. 새해 복 많이 받으세요!

권 철민님의 프로필 이미지
권 철민
지식공유자

감사합니다. 새해 복 많이 받으세요

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

이 분야가 워낙 빨리 변하기 때문에 제가 섵불리 어떤 분야의 수요나 전망을 예측하지는 못할 것 같습니다만 아래와 같이 부족한 답변 달아봅니다. 

 먼저 oracle sql과 tensorflow정도를 아시면, 신입으로 취직하기에는 충분한 스펙으로 개인적으로 생각합니다.  

1. 채용공고를 찾아보니 spark 수요가 생각보단 없는것(?)같은데 spark와 머신러닝/딥러닝 엔지니어면 경쟁력이 좋을까요?
=> 충분히 경쟁력이 있다고 생각합니다.
 
2. 머신러닝 파이프라인, 데이터 처리, 자동화 쪽 엔지니어 수요나 비전이 어떨까요?
현재 한줄 아는건 oracle sql, tensorflow(머신러닝/딥러닝) 정도입니다.
=> 데이터 처리와 자동화 쪽이 너무 광범위한데 어떤 분야를 말씀하시는지 정확히 잘 모르겠습니다만,
머신러닝 파이프라인이 그렇게 어려운 분야가 아니고, 짧은 시간을 투자하면 충분히 스펙으로 가져 갈 수 있는 분야로 보입니다. 다만 머신러닝 파이프 라인이 충분히 전문성있는 분야라기 보다는 원천 데이터를 머신러닝 모델로 만들기 위한 일련의 자동화된 프로세스 이므로 수요적인 측면은 제한성이 있을 것 같습니다.
 
데이터 처리와 머신러닝 자동화, 파이프라인 쪽 엔지니어에 관심이 있다고 하셨으니까, 해당 분야의 온라인 강의를 들어보시는 정도 수준에서 기술 스펙을 쌓으시면 충분할 걸로 보입니다. spark, kafka 정도면 충분해 보이고, 추가하자면 flink도 괜찮을 것 같습니다만 , 이 세개를 더 할 줄 아는 사람은 경력도 흔하지 않습니다.
 
또한 spark은 엔지니어링 공부를 하기에 만만하지는 않습니다. Spark가 어려워서라기 보다는 기본적으로 RDBMS나 MPP시스템에 이해가 있어야 아키텍처 측면에서 이해가 빠르게 될 수 있습니다. 제 강의에 있는 DataFrame과 SQL 정도면 신입으로 충분해 보입니다만, 엔지니어링 쪽으로 더 하실려면 Spark Engineering 공부에 시간을 투자하는것도 좋을 것 같습니다. 개인적으로는 spark보다는 RDBMS에 더 시간을 투자하는게 취업에는 더 유리할 것 같습니다. 오라클, MYSQL, POSTGRESQL 중 하나 잡아서 엔지니어링 쪽으로 더 파고 드시면 좋을 것 같습니다.
 
또한 데이터 엔지니어를 하시려면 SQL은 더 빠삭하게 알고 있으면 좋습니다. 단순히 SQL 기본 정도로는 응용이 힘들 수 있습니다. Spark, Kubeflow, Kafka, airflow 로 머신러닝 파이프 라인을 구축한다고, 이들 툴만 잘 사용하면 시스템 구축이 되는게 아닙니다. 데이터 파이프라인은 이름만 바뀌었지, 이미 20년도 넘은 개념이고, 과거에는 모두 RDBMS에서 SQL과 ETL 툴로 처리 했습니다. 데이터를 어떻게 잘 가공할 수 있는지가 데이터 처리의 핵심입니다. Spark, Kubeflow, Kafka, airflow에 대한 온라인 강의가 있으면 들어보시는 정도에서만 스펙을 쌓으시고, SQL공부도 더 적극적으로 해보시면 좋은 결과가 있을 것 같습니다.
 
3. spark 공부를 시작하면서 요즘은 TFX나 tensorRT같은것도 공부하려는데 어떨까요?
=> TFX와 TensorRT는 딥러닝 엔지니어로 분야를 정하시면 모르겠지만, 데이터 엔지니어 분야로 정하시면 크게 도움이 안될 것 같습니다.
 
4. 강사님께서 추천해주시는 공부 루트같은게 있을까요?
=> 특별한 공부 루트라기 보다, 원하는 분야를 정하시고, 팀이나 개인적으로 프로젝트를 실행해서 GITHUB 같은곳에 주기적으로 올려 보시면 어떨까 싶습니다.
jjanec님의 프로필 이미지
jjanec

작성한 질문수

질문하기