Git Product home page Git Product logo

pfpm's Introduction

PFPM

frequent pattern mining by using VoltDB and MQTT


Get Dataset

http://fimi.ua.ac.be/data/connect.dat

dataset to voltdb

  • (0) voltdb 啟動
  • (1) create transaction table and partition
    • $ voltdb < volt.sql
  • (2) load java class to voltdb procedure
    • $ python load_proc.py LoadTransaction
  • (3) 執行 load data
    • $ java DataToVolt

create index and get L1 view

  • (1) create index
    • voltdb
      • create index Tindex on transaction(tid);
      • create index Iindex on transaction(Iid);
  • (2) get L1 view
    • voltdb
      • create view L1(iid,support) as select iid,COUNT(*) from transaction group by iid;

Get L2 by Tproc and MQTT

  • (0) transaction table 處理 (刪掉不在L1的item)
  • (1) load java class to voltdb procedure
    • $ python load_proc.py Tproc
    • voltdb
      • exec Tproc Wnum,Wid;
             - Mnum : 平行worker數
             - Mid : worker ID
             - 一個worker會執行一次Tproc procedure, 將transaction table中特定多個tid打散成item pairs : (iid1, iid2)
               - 不同server同於voltdb cluster, 各可開數個worker, 達到分散效果
  • (2) MQTT處理item pair
       - 進行中 ......
       - 在Tproc.java中要加入MQTT的code, 將item pair傳給local MQTT server ...[1]
         - 有嘗試過直接將item pair透過voltQueueSQL批次插入voltdb table, 但會有out of memory議題
           - 證實無法直接透過voltdb完成PFPM, 故套入MQTT
       - MQTT透過特定channel接收local Tproc傳來的item pair, 並進行counting ...[2]
       - Counting結果再透過特定channel傳給其他server進行整合 ...[3]
       - [1,2,3]分別對應map, combine, reduce

Get Ln

coming soon

pfpm's People

Contributors

yenkuanlee avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

wsgan001

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.