강좌
클라우드/리눅스에 관한 강좌입니다.
클라우드 분류

[KT클라우드]Big Data > Data Lake KT 통신데이터 기반 상권지역 분석 예시 (BigSight-GrIP)

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

KT 통신 데이터 기반으로 상권 지역의 인구현황, 이동패턴 등의 통계정보를 활용하여 관심지역의 소비 행동을 파악하고 비즈니스에 활용할 수 있습니다.
<튜토리얼 설명>
  • KT 통신 데이터 (LTE 신호) 기반으로 상권 지역의 인구 이동 패턴에 대한 데이터 분석 예시를 제공합니다. (KT는 평균 5분단위로 데이터 수집하여 정확도가 우수)
  • 상권 지역의 인구현황, 이동패턴, 체류빈도 통계정보를 활용하여 관심지역과 연계한 소비 행동을 파악하고 비즈니스에 활용할 수 있습니다.
  • 본 분석에서는 2020년 7월 데이터를 샘플로서 공개하여 활용하며, 전체 데이터를 활용하기 위해서는 다음사이트를 참고하시기 바랍니다. (https://bigsight.kt.com/)
  • 데이터 설명:
  • - 건물 상권 내 보행인구, 직장인구, 주거인구 데이터 (2020년 7월, 전국)
  • - 보행인구: 기준연월일, 시도코드/명칭, 시군구코드/명칭, 법정동코드/명칭, 건물번호, 지번주소, 대지면적, 보행인구합계, 남자/여자 보행인구수, 연령별 보행인구수, 시간대별/요일별 보행인구수)
  • 데이터 위치 : s3a://demo/biz_bd/
1. 저장소 연결 - 환경설정
분석을 위해 접근할 저장소를 설정합니다.
JDBC연결(mysql, mariadb, postgresql, hbase), 분산큐(Kafka), Object Storage (s3, ceph) 등이 가능합니다.
본 분석에서는 Object Storage연결을 설정합니다.
2. 저장소 연결 - 데이터 업로드
로컬 시스템에서 Object Storage 에 원천 데이터를 업로드 합니다.
다음 툴을 활용할 수 있습니다.
1. Cyberduck 활용 (100 MB 이하)
- Cyberduck 설치 -> 실행 후 연결 -> 서버 / 포트 / 접근 키 설정
- Cyberduck에서 파일 업로드
2. Minio 활용 (100M이상 대용량 업로드 시)
- Minio Client 설치 → 터미널에서 config 설정 → 커맨드 라인에서 파일 업로드
- 상세내용은 1.12. 데이터 업로드 Tool 가이드 참고
3. 테이블 매니저 - DB, 테이블 등록
테이블 매니저를 통해 Database와 Spark Table 등록을 합니다.
테이블 등록 절차에 따라 컬럼 정보를 입력하고, 테이블 생성을 확인합니다.
4. 워크벤치 생성 및 쿼리
데이터 분석 쿼리를 수행할 워크벤치를 퀵메뉴 상에서 선택하고, 창에 SQL 쿼리문을 작성하여 실행합니다.
‘서울 시내 배후지 면적 대비 보행인구 수가 가장 많은 지역’ 쿼리 결과가 ‘서울시 중구 중림동 400-6’으로 나옴을 확인할 수 있습니다.
쿼리 텍스트
--- 서울시내 면적대비 보행 인구가 가장많은 지역
 
SELECT sido_nm, sig_nm, emd_nm, addr                
FROM (SELECT sido_cd, sido_nm, sig_cd, sig_nm, emd_cd, emd_nm, addr, bd_mgt_sn, mka_area, w_tot, ROW_NUMBER( )                
OVER (PARTITION BY sido_cd ORDER BY w_tot/mka_area DESC) AS r_noFROM bd_biz.table2 WHERE sido_cd = '11')WHERE r_no = 1
5. 노트북 생성 및 쿼리
이번에는 노트북을 통해 데이터 분석 쿼리를 수행해보겠습니다.
노트북에서 SQL 을 선택하고, 먼저 낮 시간동안의 모든 연령대 남녀 인구의 토탈 값을 포함한 테이블을 생성합니다.(table3_1)
‘서울시 중구 중림동 400-6번지’지역 내 낮 시간의 인구 연령대 비율’을 각 나이 대별 남녀 인구 합을 토탈로 나누어 실행합니다.
중림동의 10대~70대까지의 연령별 비율 결과가 각각 ratio_00 ~ ratio_70 값으로 나오는 것을 확인할 수 있습니다.
쿼리 텍스트
SELECT sido_nm, sig_nm, emd_nm, addr
, (rpop_day_m00 + rpop_day_f00) / rpop_day_tot * 100 AS ratio_00                
, (rpop_day_m10 + rpop_day_f10) / rpop_day_tot * 100 AS ratio_10                
, (rpop_day_m20 + rpop_day_f20) / rpop_day_tot * 100 AS ratio_20                
, (rpop_day_m30 + rpop_day_f30) / rpop_day_tot * 100 AS ratio_30                
, (rpop_day_m40 + rpop_day_f40) / rpop_day_tot * 100 AS ratio_40                
, (rpop_day_m50 + rpop_day_f50) / rpop_day_tot * 100 AS ratio_50                
, (rpop_day_m60 + rpop_day_f60) / rpop_day_tot * 100 AS ratio_60                
, (rpop_day_m70 + rpop_day_f70) / rpop_day_tot * 100 AS ratio_70                
FROM bd_biz.table3_1                
WHERE sido_cd = '11' AND sig_cd = '11140' AND emd_cd = '11140171'AND addr = '중림동  400-6'
그래프 탭을 클릭하여 bar chart로도 손쉽게 확인이 가능합니다.
노트북에서 SQL 을 선택하고, ‘서울시 중구 중림동 400-6번지 지역내 남녀 비율 query’ 를 실행합니다.
테이블 형태로 남성의 비율이 ratio_m, 여성의 비율이 ratio_f로 결과가 나오는 것을 확인합니다.
쿼리 텍스트
SELECT sido_nm, sig_nm, emd_nm, addr,
(rpop_day_m00 + rpop_day_m10 + rpop_day_m20 + rpop_day_m30 + rpop_day_m40 + rpop_day_m50 + rpop_day_m60 + rpop_day_m70) / rpop_day_tot AS ratio_m,               
(rpop_day_f00 + rpop_day_f10 + rpop_day_f20 + rpop_day_f30 + rpop_day_f40 + rpop_day_f50 + rpop_day_f60 + rpop_day_f70) / rpop_day_tot AS ratio_f               
FROM bd_biz.table3_1               
WHERE sido_cd = '11' AND sig_cd = '11140‘ AND emd_cd = '11140171‘ AND addr = ‘중림동 400-6'}
그래프 탭을 클릭하여 바차트로도 확인이 가능합니다. (0.724, 0.276)
6. 시각화 대시보드
시각화 대시보드를 통하여 분석 결과를 시각화해 볼 수 있습니다.
시각화를 통해 중림동 지역 연령대별, 성별 직장인구 현황을 좀더 직관적으로 알 수 있습니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  124 명