Page History
...
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의 장점은 , 간단한 알고리즘 뿐만 아니라 여러가지 수학적 알고리즘을 사용하여 필터/집계처리에
활용할수 있다란 점입니다. 더 나아가 텐셔플로우와 상호연동도 가능할테이지만
커스텀한 알고리즘이 어떻게 상호연동이 될수 있나 간단하게 살펴보겠습니다.
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 | ||
---|---|---|
| ||
비슷한 이름 호텔찾기
No Format |
---|
siHotel = rddHotels.filter( lambda row : 23 > edit_distance('호텔메아 리안 A펠드',row['name'] ) ) siHotel.take(100) |
Expand | ||
---|---|---|
| ||