본문 바로가기

전체 글8

2022-12-14 시장에 대한 이해가 선행되어야 한다. 시간 낭비를 줄일 수 있다. 익숙한 도메인이라고 해서 택할 필요는 없다. 100점짜리라고 해서 내세워도 고객들에게 익숙한 98점~ 99점을 넘어설 수 없다. 고객에게 익숙한 것이 무엇인지를 먼저 들여다봐야한다. [인상 깊었던 자료들] https://www.youtube.com/watch?v=fdUS2YqYMT8 [느낀 점] 나는 어떤 것을 먼저 회사에, 세상에 제안할 수 있는 사람인가? 2022. 12. 14.
Spark와 직렬화 - transient lazy val 패턴의 도움받기 INTRO Spark에서 데이터 처리 로직을 main에 다 드러내니 너무 복잡해서, 복잡한 코드는 별도의 클래스에 캡슐화를 하고 싶었다. spark 데이터처리의 특성상 한 dataframe에 연속된 transformation을 적용하는 경우가 많은데, 이 로직을 다른 클래스에서 표현하고 싶은 것이기 때문에 spark Session을 받든 dataframe을 받든 매개변수를 받아야했다. 매개변수를 받아야 하는 경우 class를 만들어야한다. (object로 만들면 싱글톤이기 때문에 문제가 없지만) 매개변수 받고 싶으면 무조건 class인지는 더 검토를 해봐야 한다. class를 만든다는 것은 후에 객체를 생성해야한다는 뜻이고, 이 객체가 직렬화 될 수 있어야함을 의미한다. driver 프로세스로부터 각 e.. 2020. 5. 27.
Kafka Spark Streaming Spark Streaming를 통해 실시간 분석 애플리케이션을 만들 수 있는데, 스트리밍 데이터 소스 중 하나로 Kafka를 사용할 수 있다. 이 포스트에서는 Kafka가 필요한 이유와 Spark Streaming과 연동하는 방법을 알아보고자 한다. Kafka 등장 배경 데이터 파이프라인의 복잡성을 줄이고 원격 통신을 쉽게 할 수 있게 만들어준다. 그림으로 보자면, 아래와 같이 기존에 복잡했던 파이프라인을 이렇게 단순화 시켰다고 생각하면 된다. 데이터를 요청하는 Consumer와 메시지를 보내주는 Producer로 나누어진 구조에서 매개자 클러스터 역할을 하는 것으로 보인다. Kafka 컴포넌트 Broker : 위에서 봤던 그림에서 메세지를 양 쪽에서 잘 주고 받을 수 있도록 하는 책임이 있다. 보통은 .. 2020. 5. 20.
tensorflow-lite signiture 분석 tensorflow-lite 에서 제공하는 api 는 tensorflow-lite converter tensorflow-lite interpreter 이렇게 두가지로 구성됩니다. converter 는 모바일에 올리기 위해 모델을 경량화 시키는 과정에 해당하므로 본격적인 추론이 일어나는 interpreter api를 사용하는 부분을 위주로 보겠습니다. 즉, tensorflow lite converter 에 의해 경량화된 모델(.tflite) 가 있다는 가정 하에 진행합니다. 1. tflite 모델로 interpreter 객체를 만드는 단계 2. input data 의 format이 모델과 맞도록 resizing 하는 단계 3. 추론을 진행하는 단계 4. output tensor를 의미있게 해석하는 단계 위.. 2019. 10. 15.