Skip to content
Jong won - Mok edited this page Aug 21, 2024 · 3 revisions

1. 왜 Spark를 사용하는가?

스파크에 대한 이해

왜 Batch process?

  • 영상+Timestamp를 함께 맞춰야, 적절한 range가 설정되고 숏폼형태로 제작이 가능하다.
  • 추가로, 위스퍼모델을 활용하여 binary to audio를 하려했다. 이유는 그래서, 실시간으로 방영되는 영상을 적재하여 인프런스용을 활용해야 했다. 그렇기 때문에 batch process가 맞다고 판단했다.

Time stamp가 왜 필요?

  • GPT API로 stt를 통해 생성한 text에서 highlight의 시간대를 추출하기 위해선 해당 주제가 발화되는 시점의 time stamp가 필요한 것이다.

So ! 우리는 batch process를 수행할 수 있는 적절한 프레임워크가 필요하다.

2. Task를 수행하며 무슨 문제가 있었는가?

CS 지식 부족 이슈

  • test과정에서 EC2 서버를 분산하지 않고, 적절한 메모리, 타입의 고려를 하지 않았다.
    • 본인은 t2.large에 카프카, 스파크를 한번에 넣고 파이프 라인 테스트를 수행하려 했다.
    • 그런데 t2.large는 카프카가 작동되는 동안 추가로 무언가를 돌리기에 메모리가 굉장히 부족했다. (실제로 카프카가 돌아가는 동안에 계속 메모리 부족 오류로 인해 스파크가 제대로 작동하지 않았다.)

이것이 왜 문제인가?

  • 팀 단위에서 정보를 오전달하는 휴먼에러를 발생시켰다.
    • 나는 내 test과정에서 스파크 자체가 적재를 하기에 부적절한가? 라고 오판단을 하였다.
    • 그래서, 스파크가 아닌 Apache Parquet을 활용하여 parquet파일로 적재한 후, 사용할때는 spark sql의 쿼리문으로 불러오는 것으로 방향을 바꿨다.
    • 발생한 문제에 대한 근본적인 해결책을 제시하지 못하였다는 것이 가장 큰 문제이지 않을까? 싶기도 하다.