将一個電子表格遷移到MySQL和Spark2.0.1上

把傳統資料遷移到現代大資料平台有時是一件很令人畏懼的事,誠然,不是每個人都需要這麼去做,但是有時候新的分析方法确實能讓人看到資料中的驚喜,marc borowczak近日撰文描述了一些方法。

<b>下為譯文</b>

<b>part 1</b>

在這篇簡短的指導中,筆者将會簡短地回顧一種方法并且用我喜歡的資料集來示範。這不是一個ml庫也不是一個kaggle競賽的資料集,僅僅是積累了數十年筆者跟蹤塑膠模型集合産生的資料,如此這般一定會适合傳統的标準。

描述的步驟是在筆記本電腦上用virtualbox運作ubuntu 16.04.1 lts gnome,并且假定你已經儲存了一張excel notebook的csv格式(或者你已經有了一些現有的csv檔案)。這個例子将使用一個從excel表中儲存的csv檔案,也就是unbuilt.csv。假定該檔案是受保護的,但可以被mysql 5.7.15通路。這個例子中的csv位于/var/lib/mysql-files/unbuilt.csv。以下步驟是必需的:

在mysql中引入.csv檔案,并且可以備份一份壓縮的mysql資料庫檔案。

連接配接到在spark2.0.1上的mysql資料庫然後通路它的的資料:這裡将使用jupyter pyspark示範一種互動式的python方法,并且在下文留下一種基于現有方法的rstudio sparkyl通路。

<b>1. 在mysql表中引入一個.csv 檔案</b>

這一步很容易完成,假設你已經安裝完了mysql。

<b>a. 在mysql中建立一個新的資料庫</b>

首先你需要建立一個新的資料庫。簡便起見,你以根賬戶通路mysql建立一個新的資料庫(或者使用任意别的你已經有的使用者證書)。對于這個例子來說我們将會建立一個模型資料庫,并且挑選它以備使用:

<b>b. 在你的資料庫裡建立一個新的表</b>

下一步是建立一個表來引入.cvs資料,同時對于每一個領域宣告一種相容的格式(在這種情況下正在建立一種被稱作unbuilt的表)

<b>c. 引入csv資料</b>

最後一步是引入.csv資料到表中

為了完成這次操作,需要在mysql檔案夾中采用适當的許可。沒有成功從這個位置引入該檔案會導緻如下錯誤:

對于mysql安全設定而言,你引用了線上文檔。我們接下來描述的以下的可選步驟是為了增強你剛落戶于的資料庫,并且也在mysql的文檔中描述過。檢視示例 htpp://dev.mysql.com/doc/refman/5.7/en/examples.html。

一個快速且明智的檢查方法由閱讀資料庫,挑選表并運作一次快速的查詢組成。

用現在遷移到mysql的資料,我們現在走在了用現代的資料科學工具例如spark2.0.1來通路它的康莊大道上。

<b>2.在spark2.0.1中用jupyter pyspark通路mysql</b>

先前描述了怎樣使用toree去互動地使用spark 1.6.1.運作scala 2.10或者pyspark。toree最近被更新來支援scala2.11并且後者的建立已經被改編來運作在2016-10-6發行的spark2.0.1。

假設你有一個本地hadoop2.7.2操作版的工作站。一個典型的安裝有一個hduser發行,然後我們可以很容易地連接配接進一個hdfs環境并從專用檔案夾釋出。

可以看出,指令打開一個熟悉的jupyter notebooks并且友善地連接配接到一個pyspark核心。下面将詳細介紹一些通路步驟,以證明連接配接是可用的。

将一個電子表格遷移到MySQL和Spark2.0.1上
将一個電子表格遷移到MySQL和Spark2.0.1上
将一個電子表格遷移到MySQL和Spark2.0.1上
将一個電子表格遷移到MySQL和Spark2.0.1上

<b>結論</b>

這應該有助于展示将遺留資料遷移和連接配接到mysql的目的。進一步我們回顧了如何使用jupyter notebook通路pyspark和利用toree/spark2.0.1提供的互動界面。

真的沒有必要放棄遺留資料:将資料遷移到新的平台将使企業能夠在更廣泛的時間尺度上提取和分析資料,并打開新的方法來利用ml技術,分析結果和對結果采取行動。導入mysql資料就像在r-studio上操作一樣容易。在即将到來的文章中我們将會讨論那條路。

<b>引用</b>

1.    mysql 5.7線上文檔

2.    拓展機器學習的方法(第二部分)

3.    apache spark 2.0.1 線上文檔

4.    apache toree github

5.    matplotlib 線上文檔

<b>part 2</b>

這裡示範了相同的結果可以以更直接的方式實作。我們将要在我們上次使用的相同的平台(ubuntu

16.04.1 lts 運作于一個 windows virtualbox hadoop 2.7.2 和 spark 2.0.1)和相同的資料集(我的傳統的模型集合unbuilt.csv)上闡明這個。我們的目标是展示怎樣把資料遷移到hadoop hdfs并且直接地分析它和使用最新的在一個 jupyter 筆記本中帶有pyspark 2.0.1的 ml工具。

許多有趣的事實可以通過子集的結合被推斷出來,過濾并且聚合這些資訊,并且也在文檔中被記錄下來。比如,通過一個折線圖我們就能夠排出最受歡迎的規模,數量最多的模型和最有價值的項目,通過類别來對模型計數,……并且用現代的ml工具操作這些以前的資料。對大規模資料而言,聚合很容易實作,正如在這裡闡明的那樣。

将一個電子表格遷移到MySQL和Spark2.0.1上

這,又一次,服務于展示傳統資料的直接遷移的目的。回顧了從jupyter notebook使用pyspark如何通路并且利用toree/spark2.0.1提供的互動式的接口。一個jupyter notebook也被提供出來幫助你遷移資料。這裡可以重申真的沒有必要抛棄過去的資料。直接或間接地把資料遷移到新的平台上将會使在更廣的時間範圍内抽取和分析資料的生意成為可能,并且開啟一種新的方法來利用ml技術,分析結果和對發現采取行動。

分布式計算 關系型資料庫 mysql hadoop 資料庫 Oracle spark ubuntu scala apache 表格mysql 電子表格mysql 表格sql

New Balance為 Furon 和 Tekela 推出夏季配色

New Balance 為夏季國際足球錦标賽做好準備,釋出了 Furon 和 Tekela 戰靴,

采用充滿活力的“Bleached Lime Glo”配色,一定會在球場上脫穎而出。

随着 24/25 賽季進入高潮,人們的注意力開始轉移到更遠的地方,當然,一個充滿國際足球的夏天即将到來,

包括在德國舉行的 24 小時歐洲杯和在美國舉行的美洲杯。正是考慮到這兩項賽事,

New Balance 為 Furon v7+ 和 Tekela v4+ 提供了一些引人注目的顔色更新,與最近釋出的“Grey Days Pack”形成鮮明對比。

New Balance為 Furon 和 Tekela 推出夏季配色

“Grey Days Pack”去掉了 Furon 和 Tekela 的所有顔色,使其外觀更符合該品牌标志性的中性色調,

而這裡我們卻走向了完全相反的方向:明亮、大膽,準備捕捉世界各地的色彩。國際舞台上世界明星的雙腳備受矚目。

這是一個相當統一的展示,Furon 和 Tekela 都采用了“Bleached Lime Glo”顔色作為基本外觀,

而兩款靴子上的品牌辨別采用相同的執行方式,使它們的視覺形象比以往任何時候都更接近,脫穎而出。

形成鮮明對比的黑色。當然,視覺上的差異是存在的——Furon 的偏心鞋帶是最明顯的,

但你必須仔細觀察才能發現它們,特别是當你将低幫 Tekela 與 Furon 并列時。

New Balance為 Furon 和 Tekela 推出夏季配色

事實上,Tekela 也有高領、無鞋帶版本,這使得它能夠與 Furon 一起脫穎而出。

雖然它們在視覺上可能相似,但從性能角度來看,這兩款靴子的品質卻截然不同。

New Balance Furon V7 是該品牌的輕量級速度筒倉,專為速度和最大靈活性而打造。

Bukayo Saka 等人都曾穿着它,它采用 Hypoknit 鞋面,旨在提供戰略性的彈力區域,并結合标志性的偏置系帶系統。

與此同時,Tekela 是該品牌的控制靴,其鞋面采用的技術旨在最大限度地提高觸感、力量和舒适度。

Tekela 被利物浦隊的哈維·埃利奧特和巴西隊的恩德裡克等人所穿着,它擁有全腳彈力針織鞋面,可适應腳部的形狀。

New Balance為 Furon 和 Tekela 推出夏季配色