본문 바로가기

programming7

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.
회귀분석 - 모형진단 (3) 회귀모형에서 또 하나의 가정은 오차가 정규분포를 따른다는 것이다. 오차의 정규분포 가정은 F 검정, t 검정과 신뢰구간을 구하는데 필요하다. 이 정규성 가정에 대한 검정을 마지막으로 알아보자. h0(귀무가설) : 오차항의 분포가 정규분포이다. / h1: 오차항의 분포가 정규분포가 아니다. 정규성 또한 그림을 보고 우선 판단하고 확신이 서지 않으면 검정을 하는 식의 프로세스를 거치면 된다! 1.정규확률그림 ↓ 만약 표본이 정규분포에서 얻은 것이라면 직선에 가깝게 데이터들이 위치한다. * 직선에서 벗어난 패턴에 따라 정규분포에 비해 어떤 모양을 띄고 있는지를 예측할 수도 있다. ex) 정규분포에 비해 오른쪽으로 치우침, 정규분포에 비해 꼬리가 두꺼움 등 2. Shapiro-Wilk (w 통계량) 이 통계량은.. 2018. 9. 21.