Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

No Format
grades = rddHotels.map( lambda row: row['grade'] ).distinct()
grades.take(5)

==> 결과 : 해당 데이터가 관리하는 grade파악이 가능합니다.
['special1', 'special2', 'grade2', 'motel', 'design']


regions = rddHotels.map( lambda row: row['districtName'] ).distinct()
regions.take(5)
==> 결과
['중구', '강남구', '서초구', '강서구', '구로구']

사용자 알고리즘 적용

사전준비: 사용할 알고리즘 준비하기Spark의 장점은 , 간단한 알고리즘 뿐만 아니라 여러가지 수학적 알고리즘을 사용하여 필터/집계처리에

활용할수 있다란 점입니다. 더 나아가 텐셔플로우와 상호연동도 가능할테이지만

커스텀한 알고리즘이 어떻게 상호연동이 될수 있나 간단하게 살펴보겠습니다. 

math-util

  • getDistance(52.2296756,21.0122287,52.406374,16.9251681) : 위경도 기반 얼마나 가깝나?
  • edit_distance('강남호텔', '강남호텔a')   : 얼마나 편집을 해야 같아지나 간단한 문자열 유사도검사?


근처 호텔찾기

No Format
#서울의 어느 호텔 'latitude': 37.5700718, 'longitude': 127.0089115
nearHotel= rddHotels.filter( lambda row : 5 > getDistance(37.5700718,127.0089115,row['latitude'],row['longitude'] ) )
nearHotel.take(10)
nearHotel.count()
Expand
title작동결과

Image Added




비슷한 이름 호텔찾기

No Format
siHotel = rddHotels.filter( lambda row : 23 > edit_distance('호텔메아 리안 A펠드',row['name'] ) )
siHotel.take(100)
Expand
title작동결과

Image Added