웹로그 히스토리 데이터를 통한 데이터 분석 꼼수
#세션만들기,#lag_over_partitionby,#pyspark_lag,#sql_lag 오늘은 데이터를 좀 더 풍부하게 만들어 분석을 용이하게 만드는 방법을 한가지 예시를 들면서 설명 드리려 합니다. 어떤 서비스를 운영하면서 아래와 같이 사용자의 페이지를 방문이력을 저장하고 있다라고 가정을 해보겠습니다. 이 데이터를 이용해서 몇 명이 방문하고 있고 어떤 페이지를 많이 보더라는 지표도 뽑아보고 chart도 그려가며 데이터에 익숙해 지다보니 문득 다음과 같은 것들이 궁금해 질 경우가 생기게 됩니다. """ 방문자들이 내 사이트에 접속하면 보통 몇 개의 페이지를 볼까? 한페이지 당 얼마나 머무를까? 페이지 이동 중 가장 체류를 오래하는 페.......
2020-11-10 20:32:07 |
산소소년
웹로그 히스토리 데이터를 통한 데이터 분석 꼼수
#세션만들기,#lag_over_partitionby,#pyspark_lag,#sql_lag 오늘은 데이터를 좀 더 풍부하게 만들어 분석을 용이하게 만드는 방법을 한가지 예시를 들면서 설명 드리려 합니다. 어떤 서비스를 운영하면서 아래와 같이 사용자의 페이지를 방문이력을 저장하고 있다라고 가정을 해보겠습니다. 이 데이터를 이용해서 몇 명이 방문하고 있고 어떤 페이지를 많이 보더라는 지표도 뽑아보고 chart도 그려가며 데이터에 익숙해 지다보니 문득 다음과 같은 것들이 궁금해 질 경우가 생기게 됩니다. """ 방문자들이 내 사이트에 접속하면 보통 몇 개의 페이지를 볼까? 한페이지 당 얼마나 머무를까? 페이지 이동 중 가장 체류를 오래하는 페.......
2020-11-10 20:32:07 |
산소소년
웹로그 히스토리 데이터를 통한 데이터 분석 꼼수
#세션만들기,#lag_over_partitionby,#pyspark_lag,#sql_lag 오늘은 데이터를 좀 더 풍부하게 만들어 분석을 용이하게 만드는 방법을 한가지 예시를 들면서 설명 드리려 합니다. 어떤 서비스를 운영하면서 아래와 같이 사용자의 페이지를 방문이력을 저장하고 있다라고 가정을 해보겠습니다. 이 데이터를 이용해서 몇 명이 방문하고 있고 어떤 페이지를 많이 보더라는 지표도 뽑아보고 chart도 그려가며 데이터에 익숙해 지다보니 문득 다음과 같은 것들이 궁금해 질 경우가 생기게 됩니다. """ 방문자들이 내 사이트에 접속하면 보통 몇 개의 페이지를 볼까? 한페이지 당 얼마나 머무를까? 페이지 이동 중 가장 체류를 오래하는 페.......
2020-11-10 11:32:07 |
산소소년
웹로그 히스토리 데이터를 통한 데이터 분석 꼼수
#세션만들기,#lag_over_partitionby,#pyspark_lag,#sql_lag 오늘은 데이터를 좀 더 풍부하게 만들어 분석을 용이하게 만드는 방법을 한가지 예시를 들면서 설명 드리려 합니다. 어떤 서비스를 운영하면서 아래와 같이 사용자의 페이지를 방문이력을 저장하고 있다라고 가정을 해보겠습니다. 이 데이터를 이용해서 몇 명이 방문하고 있고 어떤 페이지를 많이 보더라는 지표도 뽑아보고 chart도 그려가며 데이터에 익숙해 지다보니 문득 다음과 같은 것들이 궁금해 질 경우가 생기게 됩니다. """ 방문자들이 내 사이트에 접속하면 보통 몇 개의 페이지를 볼까? 한페이지 당 얼마나 머무를까? 페이지 이동 중 가장 체류를 오래하는 페.......
2020-11-10 11:32:07 |
산소소년
데이터테크랩의 빨리 세는 방법
#분산디비 안녕하십니까? 페이코 테이터테크랩 임지홍 입니다. 오늘은 부서에서 만들고 있는 플랫폼 중 많은 데이터의 숫자를 빨리 세기 위해, 혹은 빨리 찾기 위해 만들고 있는 DataMart를 소개해 드리겠습니다. 빨리 집계하기 위해 가장많이 도입하는 전통적인 방법은 OLAP환경의 DataCube 입니다. 흔히 BI라고 불리우죠. 데이터의 구조를 차원(attribute 혹은 dimension)으로 설계하고 이에 필요한 값(metrics 혹은 measures)들을 미리 계산해 놓는 방식입니다. (미리 계산하지 않고 관계만 설정해놓은 상태에서 조회 시 큐브가 생성되는 Relational OLAP 도 있지만 속도를 논하는 글이니 논외로 하겠습니다.) 데이터 큐브를 간단하게 설명해.......
2019-06-14 11:46:04 |
산소소년
데이터테크랩의 빨리 세는 방법
#분산디비 안녕하십니까? 페이코 테이터테크랩 임지홍 입니다. 오늘은 부서에서 만들고 있는 플랫폼 중 많은 데이터의 숫자를 빨리 세기 위해, 혹은 빨리 찾기 위해 만들고 있는 DataMart를 소개해 드리겠습니다. 빨리 집계하기 위해 가장많이 도입하는 전통적인 방법은 OLAP환경의 DataCube 입니다. 흔히 BI라고 불리우죠. 데이터의 구조를 차원(attribute 혹은 dimension)으로 설계하고 이에 필요한 값(metrics 혹은 measures)들을 미리 계산해 놓는 방식입니다. (미리 계산하지 않고 관계만 설정해놓은 상태에서 조회 시 큐브가 생성되는 Relational OLAP 도 있지만 속도를 논하는 글이니 논외로 하겠습니다.) 데이터 큐브를 간단하게 설명해.......
2019-06-14 11:46:04 |
산소소년
데이터테크랩의 빨리 세는 방법
#분산디비 안녕하십니까? 페이코 테이터테크랩 임지홍 입니다. 오늘은 부서에서 만들고 있는 플랫폼 중 많은 데이터의 숫자를 빨리 세기 위해, 혹은 빨리 찾기 위해 만들고 있는 DataMart를 소개해 드리겠습니다. 빨리 집계하기 위해 가장많이 도입하는 전통적인 방법은 OLAP환경의 DataCube 입니다. 흔히 BI라고 불리우죠. 데이터의 구조를 차원(attribute 혹은 dimension)으로 설계하고 이에 필요한 값(metrics 혹은 measures)들을 미리 계산해 놓는 방식입니다. (미리 계산하지 않고 관계만 설정해놓은 상태에서 조회 시 큐브가 생성되는 Relational OLAP 도 있지만 속도를 논하는 글이니 논외로 하겠습니다.) 데이터 큐브를 간단하게 설명해.......
2019-06-14 02:46:04 |
산소소년
데이터테크랩의 빨리 세는 방법
#분산디비 안녕하십니까? 페이코 테이터테크랩 임지홍 입니다. 오늘은 부서에서 만들고 있는 플랫폼 중 많은 데이터의 숫자를 빨리 세기 위해, 혹은 빨리 찾기 위해 만들고 있는 DataMart를 소개해 드리겠습니다. 빨리 집계하기 위해 가장많이 도입하는 전통적인 방법은 OLAP환경의 DataCube 입니다. 흔히 BI라고 불리우죠. 데이터의 구조를 차원(attribute 혹은 dimension)으로 설계하고 이에 필요한 값(metrics 혹은 measures)들을 미리 계산해 놓는 방식입니다. (미리 계산하지 않고 관계만 설정해놓은 상태에서 조회 시 큐브가 생성되는 Relational OLAP 도 있지만 속도를 논하는 글이니 논외로 하겠습니다.) 데이터 큐브를 간단하게 설명해.......
2019-06-14 02:46:04 |
산소소년
BloomFilter는 언제 쓰나요?
#BloomFilter 확률적 자료구조인 블룸필터가 저장소도 아낄 수 있고 빨리 검색할 수 있어서 hbase, redis 등 여러 디비에서도 활용되고 있다는 말을 많이 들어보셨을 겁니다. 좋은 것은 알겠는데 실제 어떻게 활용되고 있는지 어떤 원리로 데이터를 함축적으로 표현할 수 있는지 간단하게 설명해 드리고 또 실제 데이터 처리 환경에서 어떻게 사용하고 있는지 예시를 통해 소개해 드리는 시간을 준비해 봤습니다. 블룸필터의 원리 및 구현 블룸필터를 한줄로 설명드리면 "어떤 값이 집합에 속해 있는가?를 검사하는 필터 및 이를 구성하는 자료형"을 칭합니다. 이 구조를 도식화 해보면 다음과 같습니다. 저장하고 싶은 집합의 값을 n개.......
2019-05-13 13:46:22 |
산소소년
BloomFilter는 언제 쓰나요?
#BloomFilter 확률적 자료구조인 블룸필터가 저장소도 아낄 수 있고 빨리 검색할 수 있어서 hbase, redis 등 여러 디비에서도 활용되고 있다는 말을 많이 들어보셨을 겁니다. 좋은 것은 알겠는데 실제 어떻게 활용되고 있는지 어떤 원리로 데이터를 함축적으로 표현할 수 있는지 간단하게 설명해 드리고 또 실제 데이터 처리 환경에서 어떻게 사용하고 있는지 예시를 통해 소개해 드리는 시간을 준비해 봤습니다. 블룸필터의 원리 및 구현 블룸필터를 한줄로 설명드리면 "어떤 값이 집합에 속해 있는가?를 검사하는 필터 및 이를 구성하는 자료형"을 칭합니다. 이 구조를 도식화 해보면 다음과 같습니다. 저장하고 싶은 집합의 값을 n개.......
2019-05-13 13:46:22 |
산소소년
BloomFilter는 언제 쓰나요?
#BloomFilter 확률적 자료구조인 블룸필터가 저장소도 아낄 수 있고 빨리 검색할 수 있어서 hbase, redis 등 여러 디비에서도 활용되고 있다는 말을 많이 들어보셨을 겁니다. 좋은 것은 알겠는데 실제 어떻게 활용되고 있는지 어떤 원리로 데이터를 함축적으로 표현할 수 있는지 간단하게 설명해 드리고 또 실제 데이터 처리 환경에서 어떻게 사용하고 있는지 예시를 통해 소개해 드리는 시간을 준비해 봤습니다. 블룸필터의 원리 및 구현 블룸필터를 한줄로 설명드리면 "어떤 값이 집합에 속해 있는가?를 검사하는 필터 및 이를 구성하는 자료형"을 칭합니다. 이 구조를 도식화 해보면 다음과 같습니다. 저장하고 싶은 집합의 값을 n개.......
2019-05-13 04:46:22 |
산소소년
BloomFilter는 언제 쓰나요?
#BloomFilter 확률적 자료구조인 블룸필터가 저장소도 아낄 수 있고 빨리 검색할 수 있어서 hbase, redis 등 여러 디비에서도 활용되고 있다는 말을 많이 들어보셨을 겁니다. 좋은 것은 알겠는데 실제 어떻게 활용되고 있는지 어떤 원리로 데이터를 함축적으로 표현할 수 있는지 간단하게 설명해 드리고 또 실제 데이터 처리 환경에서 어떻게 사용하고 있는지 예시를 통해 소개해 드리는 시간을 준비해 봤습니다. 블룸필터의 원리 및 구현 블룸필터를 한줄로 설명드리면 "어떤 값이 집합에 속해 있는가?를 검사하는 필터 및 이를 구성하는 자료형"을 칭합니다. 이 구조를 도식화 해보면 다음과 같습니다. 저장하고 싶은 집합의 값을 n개.......
2019-05-13 04:46:22 |
산소소년
리버스 지오코딩 솔루션 개발기
#ReverseGeocoding 고민의 시작 미세먼지 수치, 버스도착시간 조회, 경로조회 등 위치기반 정보는 분석활동에 많이 사용되는 데이터 유형 입니다. 그런데, 활용하는 위치기반 데이터를 살펴보면 소스에 따라 유형이 다양했습니다. 우편번호, 위경도좌표, 한글도로명 주소, 구한글 주소, [행|법]정동코드, 프렌차이즈의 지역명[ex. 삼평동점] ... 이런 다양한 데이터를 통일된 위치체계로 관리할 필요가 있었으며 또 필요에 따라 유형을 변환해야 하는 경우도 있었습니다. 그 중 가장 빈번하게 사용되는 변환은 위경도 좌표를 주소로 변환하는 "리버스 지오코딩" 이였습니다. 이 때 사용했던 외부 Open API들은 제약이 존재하고 유료화.......
2019-04-24 11:09:26 |
산소소년
리버스 지오코딩 솔루션 개발기
#ReverseGeocoding 고민의 시작 미세먼지 수치, 버스도착시간 조회, 경로조회 등 위치기반 정보는 분석활동에 많이 사용되는 데이터 유형 입니다. 그런데, 활용하는 위치기반 데이터를 살펴보면 소스에 따라 유형이 다양했습니다. 우편번호, 위경도좌표, 한글도로명 주소, 구한글 주소, [행|법]정동코드, 프렌차이즈의 지역명[ex. 삼평동점] ... 이런 다양한 데이터를 통일된 위치체계로 관리할 필요가 있었으며 또 필요에 따라 유형을 변환해야 하는 경우도 있었습니다. 그 중 가장 빈번하게 사용되는 변환은 위경도 좌표를 주소로 변환하는 "리버스 지오코딩" 이였습니다. 이 때 사용했던 외부 Open API들은 제약이 존재하고 유료화.......
2019-04-24 11:09:26 |
산소소년
리버스 지오코딩 솔루션 개발기
#ReverseGeocoding 고민의 시작 미세먼지 수치, 버스도착시간 조회, 경로조회 등 위치기반 정보는 분석활동에 많이 사용되는 데이터 유형 입니다. 그런데, 활용하는 위치기반 데이터를 살펴보면 소스에 따라 유형이 다양했습니다. 우편번호, 위경도좌표, 한글도로명 주소, 구한글 주소, [행|법]정동코드, 프렌차이즈의 지역명[ex. 삼평동점] ... 이런 다양한 데이터를 통일된 위치체계로 관리할 필요가 있었으며 또 필요에 따라 유형을 변환해야 하는 경우도 있었습니다. 그 중 가장 빈번하게 사용되는 변환은 위경도 좌표를 주소로 변환하는 "리버스 지오코딩" 이였습니다. 이 때 사용했던 외부 Open API들은 제약이 존재하고 유료화.......
2019-04-24 02:09:26 |
산소소년
리버스 지오코딩 솔루션 개발기
#ReverseGeocoding 고민의 시작 미세먼지 수치, 버스도착시간 조회, 경로조회 등 위치기반 정보는 분석활동에 많이 사용되는 데이터 유형 입니다. 그런데, 활용하는 위치기반 데이터를 살펴보면 소스에 따라 유형이 다양했습니다. 우편번호, 위경도좌표, 한글도로명 주소, 구한글 주소, [행|법]정동코드, 프렌차이즈의 지역명[ex. 삼평동점] ... 이런 다양한 데이터를 통일된 위치체계로 관리할 필요가 있었으며 또 필요에 따라 유형을 변환해야 하는 경우도 있었습니다. 그 중 가장 빈번하게 사용되는 변환은 위경도 좌표를 주소로 변환하는 "리버스 지오코딩" 이였습니다. 이 때 사용했던 외부 Open API들은 제약이 존재하고 유료화.......
2019-04-24 02:09:26 |
산소소년
데이터 처리 플랫폼
보통 데이터 처리 작업을 만들 때 시간도 오래걸리고 과정이 많아 단계별로 모듈을 개발하고 이를 스케쥴링 하는 식으로 구성을 하게 됩니다. 또 이런 작업이 하나 둘 씩 늘어가며 관리가 복잡해지면 이것들을 처리하기 위해 oozie, azkaban, airflow 같은 workflow 엔진을 도입하게 됩니다. 이런 엔진을 통한 worflow의 DAG 구성은 독립적으로 구동되고 정상적인 운영 에서는 편하지만 "다른 사람이 만든 workflow에서 나의 workflow의 중간 단계 데이터를 필요로 할 때", "내 작업이 생성한 한 데이터를 참조하는 나도 모르는 작업들이 있는데, 내 작업이 장애가 났을 때" 등의 실제 운영중의 문제를 해결해 주기에는 (기.......
2018-10-01 12:51:18 |
산소소년
데이터 처리 플랫폼
보통 데이터 처리 작업을 만들 때 시간도 오래걸리고 과정이 많아 단계별로 모듈을 개발하고 이를 스케쥴링 하는 식으로 구성을 하게 됩니다. 또 이런 작업이 하나 둘 씩 늘어가며 관리가 복잡해지면 이것들을 처리하기 위해 oozie, azkaban, airflow 같은 workflow 엔진을 도입하게 됩니다. 이런 엔진을 통한 worflow의 DAG 구성은 독립적으로 구동되고 정상적인 운영 에서는 편하지만 "다른 사람이 만든 workflow에서 나의 workflow의 중간 단계 데이터를 필요로 할 때", "내 작업이 생성한 한 데이터를 참조하는 나도 모르는 작업들이 있는데, 내 작업이 장애가 났을 때" 등의 실제 운영중의 문제를 해결해 주기에는 (기.......
2018-10-01 12:51:18 |
산소소년
데이터 처리 플랫폼
보통 데이터 처리 작업을 만들 때 시간도 오래걸리고 과정이 많아 단계별로 모듈을 개발하고 이를 스케쥴링 하는 식으로 구성을 하게 됩니다. 또 이런 작업이 하나 둘 씩 늘어가며 관리가 복잡해지면 이것들을 처리하기 위해 oozie, azkaban, airflow 같은 workflow 엔진을 도입하게 됩니다. 이런 엔진을 통한 worflow의 DAG 구성은 독립적으로 구동되고 정상적인 운영 에서는 편하지만 "다른 사람이 만든 workflow에서 나의 workflow의 중간 단계 데이터를 필요로 할 때", "내 작업이 생성한 한 데이터를 참조하는 나도 모르는 작업들이 있는데, 내 작업이 장애가 났을 때" 등의 실제 운영중의 문제를 해결해 주기에는 (기.......
2018-10-01 03:51:18 |
산소소년
데이터 처리 플랫폼
보통 데이터 처리 작업을 만들 때 시간도 오래걸리고 과정이 많아 단계별로 모듈을 개발하고 이를 스케쥴링 하는 식으로 구성을 하게 됩니다. 또 이런 작업이 하나 둘 씩 늘어가며 관리가 복잡해지면 이것들을 처리하기 위해 oozie, azkaban, airflow 같은 workflow 엔진을 도입하게 됩니다. 이런 엔진을 통한 worflow의 DAG 구성은 독립적으로 구동되고 정상적인 운영 에서는 편하지만 "다른 사람이 만든 workflow에서 나의 workflow의 중간 단계 데이터를 필요로 할 때", "내 작업이 생성한 한 데이터를 참조하는 나도 모르는 작업들이 있는데, 내 작업이 장애가 났을 때" 등의 실제 운영중의 문제를 해결해 주기에는 (기.......
2018-10-01 03:51:18 |
산소소년