1. 程式人生 > >MongoDB資料轉移到Mysql庫進行資料分析

MongoDB資料轉移到Mysql庫進行資料分析

最近有一個調優的專案設計到MongoDB資料轉移到Mysql庫進行資料分析。

以下是利用kettle對資料的轉換的介紹:

1MongoDb的查詢:

   主要是基於json格式:具體的查詢可以見連線MonGoDb的查詢語句

  資料集是

  由於帶有時間戳timestamp,可以在kettle中基於時間戳對其增量讀取。

2kettle對於這種非關係型的資料庫的設定主要是利用bigdata的控制元件:

配置如下:

1mongodb的資料集

2query 查詢語句 

   由於利用時間戳進行增量查詢,所以利用了兩個變數${STARTDATE},${ENDDATE}來控制時間窗的大小。

3.將資料流傳入到json輸入中,將其轉化為標準格式:


Path的書寫格式是:

  $.uid :uid是指mongodb中的項uid,

           $ :代表根目錄

           . :代表子節點

           []:陣列節點

     由於在mongodb中 uid是直接掛在根目錄下的子節點中,所以其路徑為$.uid,actionID依次類似。

例:

   {"data" :{

            "museum":[

              {

                "country":"italy",

                "city": "Vencie",

                 "id_museum":"109",

                 "name":"pa"},

               {  

                 "country":"Mexico",

                 "city": "Mexico city",

                 "id_museum":"36",

                 "name":"Musre"}

                            ]

                  }

            }

    $..city表明元素

city是在根節點下data節點內的museum節點內。

    $.data.museum[1].city表明指定的元素,即上述museum陣列第二個節點的city

資料讀取流程圖:


JOB的流程如下: