天天看點

用線性回歸無編碼實作文章浏覽數預測

我們假設你下載下傳的streamingpro,ansi-seg包在/tmp目錄下。然後将spark 2.0 解壓,進入主目錄。

我已經釋出了三個配置檔案,分别計算:

詞彙的 idf 值 ,連結 

給每個詞彙生成一個唯一的數字标示,連結

使用線性回歸算法進行訓練, 連結

ps : 有道筆記有時候第一次刷不出來,你重新整理下就好。

複制儲存三個檔案:

/tmp/idf.json

/tmp/term-index.json

/tmp/lr-train.json

生成idf 檔案:

生成内容會存儲成parquet檔案。在/tmp/idf 目錄下可以看到具體檔案。

接着生成 term index ,檔案位于 /tmp/term-with-index,最後進行模型訓練,訓練好的模型在/tmp/lr-model

後續隻要在spark streaming中加載,即可完成流式計算。

以lr-train.json為例,大體架構如下:

這裡有一個job,兩個關聯表,一個udf函數注冊子產品。我在配置檔案的描述中已經有說明。job 是一個可執行的main函數,你可以這麼了解。關聯表申明後可以直接在job的sql中使用。udf函數注冊子產品則可以使得你很容易擴充sql的功能。

他們唯一的差別是,job 的strategy 是 sparkstreamingstrategy,而其他非job則是sparkstreamingrefstrategy。

因為一個配置檔案裡可能有多個job,每個job引用的關聯表也是不一樣,你需要顯示指定引用,在job 的ref中申明即可:

這樣架構自動為你準備好關聯引用,注冊udf函數,然後在lr1 這個job中就可以使用了。比如lr裡的parse 函數就是通過udf_register子產品提供的。

之後就是定義輸入,執行的sql,以及輸出(存儲或者模型引擎)。 sql在案例中你可以看到,可以非常複雜,多個sql子產品之間可以互相作用,通過多條sql實作一個複雜的邏輯。比如我們這裡試下了tf/idf計算等功能。

文/祝威廉(簡書作者)

原文連結:http://www.jianshu.com/p/d053a21944f5

著作權歸作者所有,轉載請聯系作者獲得授權,并标注“簡書作者”。

繼續閱讀