Giter Club home page Giter Club logo

top-k-route-with-spark's Introduction

Top-K-Route-with-spark

목적

  • 노이즈가 추가된 위치정보를 바탕으로 원본 데이터 유추
  • 플로우 요약
    • noise 데이터를 바탕으로 원본 데이터 유추
      • noise_data -> (Top-K-Route-with-Spark) -> 유추한 origin_data
    • 유추한 원본데이터와 실제 원본데이터 비교

데이터

  • 서울 택시데이터(공공데이터) 위치정보 데이터

과정

  1. 택시 데이터 프로세싱

    • 택시 위치정보를 바탕으로 지역별 이동 확률 계산 (출발지 -> 도착지)
    • 최종 저장 데이터 프레임 스키마
    컬럼명 타입 설명 예시
    origin_start String 출발지 위치정보(비트스트림) 지역 개수를 5로 설정했을 때 ex) 10000
    origin_end String 도착지 위치정보(비트스트림) 지역 개수를 5로 설정했을 때 ex) 01000
    prob Double 출발지에서 도착지로 갈 확률 출발지 A에서 출발지 B로 갈 수 있는 모든 확률
  2. 택시 데이터 노이즈 추가

    • 택시 데이터(비트스트림)에 노이즈 추가
    • 최종 저장 데이터 프레임 스키마
    컬럼명 타입 설명 예시
    T_Link_ID String 택시 고유 ID -
    Day Integer 택시 승차 날짜 1~7까지의 범위 (1:월, 7:일)
    Time Integer 택시 승차 시간 0~47 까지의 범위
    start String 택시 승차 위치 승차한 지역구 고유 번호 ex) 1130
    end String 택시 하차 위치 하차한 지역구 고유 번호 ex) 1130
    noise_start String 노이즈 추가한 택시 승차 위치 (비트스트림) 지역 개수를 5로 설정했을 때 ex) 10110
    noise_end String 노이즈 추가한 택시 하차 위치 (비트스트림) 지역 개수를 5로 설정했을 때 ex) 10110
  3. EM 과정을 수행하기 위한 데이터 생성

    • 추후 Top K 수행 과정에 필요한 데이터 생성
    • 최종 저장 데이터 프레임 스키마
    컬럼명 타입 설명 예시
    noise_start String 노이즈 추가된 출발지 위치정보(비트스트림) 지역 개수를 5로 설정했을 때 ex) 11100
    origin_start String 출발지 위치정보(비트스트림) 지역 개수를 5로 설정했을 때 ex) 10000
    noise_end String 노이즈 추가된 도착지 위치정보(비트스트림) 지역 개수를 5로 설정했을 때 ex) 01010
    origin_end String 도착지 위치정보(비트스트림) 지역 개수를 5로 설정했을 때 ex) 01000
    prob Double origin_start가 노이즈를 추가해서 noise_start가 될 확률 * origin_end가 노이즈를 추가해서 noise_end가 될 확률 -
  4. Top K Route

    • 1, 2, 3 과정을 반드시 미리 수행해야 함
    • threshold 값 또는 iterationCnt 의 값으로 원본 데이터 유추 반복 횟수 설정
    • 최종 저장 데이터 프레임 스키마
    컬럼명 타입 설명 예시
    origin_start String 출발지 위치정보(비트스트림) 지역 개수를 5로 설정했을 때 ex) 10000
    origin_end String 도착지 위치정보(비트스트림) 지역 개수를 5로 설정했을 때 ex) 01000
    origin_prob Double 원본 데이터 지역 이동 확률 -
    noise_prob Double 유추 데이터 지역 이동 확률 -

이미지 예시

top-k-route-with-spark's People

Contributors

kim-taesu avatar

Watchers

 avatar  avatar

top-k-route-with-spark's Issues

TaskMemoryManager: Failed to allocate a page(... bytes), try again 오류

dest size를 15로 설정하고 Top K 코드 실행 시 WARN 오류 찍힘

20/07/20 18:36:52 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:53 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:53 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:53 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:53 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:53 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:53 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:53 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:53 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:53 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:54 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:54 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:54 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:54 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:54 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:54 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:54 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.
20/07/20 18:36:54 WARN TaskMemoryManager: Failed to allocate a page (536870912 bytes), try again.

Window에서 spark-submit 명령 수행 시 Exception while deleting Spark temp dir 오류

java.io.IOException: Failed to delete: C:\Users\BLAHBLAHBLAH\AppData\Local\Temp\spark-87a0b959-9d1c-4416-989f-b5691303e28b\userFiles-92fb9c90-a9b8-4605-b3dc-23aced2dda8e\top-k-jar-with-dependencies.jar
        at org.apache.spark.network.util.JavaUtils.deleteRecursivelyUsingJavaIO(JavaUtils.java:144)
        at org.apache.spark.network.util.JavaUtils.deleteRecursively(JavaUtils.java:118)
        at org.apache.spark.network.util.JavaUtils.deleteRecursivelyUsingJavaIO(JavaUtils.java:128)
        at org.apache.spark.network.util.JavaUtils.deleteRecursively(JavaUtils.java:118)
        at org.apache.spark.network.util.JavaUtils.deleteRecursively(JavaUtils.java:91)
        at org.apache.spark.util.Utils$.deleteRecursively(Utils.scala:1062)
        at org.apache.spark.SparkEnv.stop(SparkEnv.scala:103)
        at org.apache.spark.SparkContext$$anonfun$stop$11.apply$mcV$sp(SparkContext.scala:1974)
        at org.apache.spark.util.Utils$.tryLogNonFatalError(Utils.scala:1340)
        at org.apache.spark.SparkContext.stop(SparkContext.scala:1973)
        at org.apache.spark.SparkContext$$anonfun$2.apply$mcV$sp(SparkContext.scala:575)
        at org.apache.spark.util.SparkShutdownHook.run(ShutdownHookManager.scala:216)
        at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ShutdownHookManager.scala:188)
        at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1$$anonfun$apply$mcV$sp$1.apply(ShutdownHookManager.scala:188)
        at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1$$anonfun$apply$mcV$sp$1.apply(ShutdownHookManager.scala:188)
        at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1945)
        at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply$mcV$sp(ShutdownHookManager.scala:188)
        at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:188)
        at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:188)
        at scala.util.Try$.apply(Try.scala:192)
        at org.apache.spark.util.SparkShutdownHookManager.runAll(ShutdownHookManager.scala:188)
        at org.apache.spark.util.SparkShutdownHookManager$$anon$2.run(ShutdownHookManager.scala:178)
        at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.