Versions Compared

Key

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

...

Code Block
point = struct(lit(3733.56804235425784002482), lit(126.8264086665174019924))
# 5백미터3키로 이내에놈을 가까운순으로 보여죠...
nearNaver = tbl_NHotel.filter(great_circle_udf(point, struct(tbl_NHotel.latitude, tbl_NHotel.longitude)) < 0.53 )
nearNaver.show(10)

# 이 결과는 1초이내에 수행됩니다. 분석대상 범위를 축소하는데 중요한 역활을 합니다.

결과
+-------+-----+--------------+----------+-----------+-------+-------+
|     id|price|     goodsname|  latitude|  longitude|region1|region2|
+-------+-----+--------------+----------+-----------+-------+-------+
|3054798|86478|라마다 앙코르 서울 마곡|37.5680423|126.8264086
|1053561|42760|   제주 오션그랜드 호텔| 33.542571| 126.665239|     제주|     제주|
|2007411|75000|   제주 파크 비치 호텔|  33.54912|  126.68461|     제주|     제주|
|2664432|70000|       푸른바다 펜션|33.5496324|126.6529224|     제주|     제주|
|3011035|40201|       제주와요 펜션|  33.53298|  126.63868|     제주|     제주|
|2915731|72222|      씨에코비치 펜션|   33.5483|   126.6472|     제주|     제주|
|2748674|51090|       오션 베스트빌|  33.54975| 126.652189|     제주|     제주|
|2824549|60500|더 아트스테이 제주함덕호텔|33.5424614|126.6659324|     제주|     제주|
|1269784|70000|     제주 선샤인 호텔|33.5438538|126.6624146|     제주|     제주|
|2917523|50111|   제주 비치 함덕 호텔|33.5433172|126.6636515|     제주|     제주|
|3499445|58200|       호텔 베스트원|33.5442712|126.6569594|     제주|     제주|
|1820463|49735|     비치 스토리 호텔|  33.54208|  126.66549|     제주|     제주|
|3010720|58006|       소곤닥 하우스| 33.542671| 126.663479|     제주|     제주|
|3012776|50440|        포엠 하우스|33.5432169|126.6638897|     제주|     제주|
|1945210|42000|         필 하우스|33.5450923|126.6864073|     제주|     제주|
|2944847|51718|        친친 하우스| 33.527757| 126.686415|     서울제주|     강서구제주|
+-------+-----+--------------+----------+-----------+-------+-------+

# 이 기능으로 여러가지 정보를 알게되었습니다. 다수결의 원칙을 적용하여
# 해당 위경도의 지역정보가 호텔정보를 베이스로 제주임을 알수가 있으며
# 가까운 순으로, 처리할 우측 아이템순을 제한하여 보여주니 
# 이름 유사도 검사라던지 기타등의 부가적인 매칭룰을 적은 루프로 적용할수가 있습니다. 


개선

위 내용은 데이터가 얼마되지 않은 반경분석처리 에서는 모두 커버가 될것으로 보이지만

조금더 큰 데이터 즉 해외의 모든 데이터라는 범위확장을 하고

반경필터외에, 지역이 생겨먹은 도형을 기준으로 포함처리까지 가능하게하면서

고성능 분산처리까지되게하려면 조금더 고급처리 기법이 필요합니다.


아직 시도해보지는 못했지만, 아래 아티컬이 그러한것을 커버하는 아키텍쳐로 보여집니다.

https://github.com/sabman/PySparkGeoAnalysis/blob/master/slides.md