官术网_书友最值得收藏!

1.3 MADlib的安裝與卸載

1.3.1 確定安裝平臺

MADlib 1.14可以安裝在PostgreSQL、Greenplum和HAWQ中。在不同的數據庫系統,安裝過程不盡相同。這里以在HAWQ 2.1.1.0中安裝MADlib為例,演示MADlib的安裝與卸載過程。后面章節進行的一系列示例也都在此實驗環境中進行的。HAWQ的安裝部署過程從略。

機器學習需要數據庫系統提供有效的存儲、索引和查詢處理支持。源于高性能并行計算的技術在處理海量數據集方面常常是重要的。分布式技術也能幫助處理海量數據,并且當數據不能集中到一起處理時更是至關重要。

比照以上機器學習對數據庫系統提出的要求,我們不妨簡單考量一下HAWQ。先提出一點,HAWQ目前不支持索引。對于存儲在Hadoop集群上的“大數據”分析應用而言,實際執行的操作幾乎都是表掃描,很少需要定位幾行數據,因此傳統的由用戶定義的索引用在此場景下的作用非常有限。HAWQ使用的隨機分布存儲策略具有較好的數據本地化特性,優化器在制定查詢計劃時,內部實現已然利用了索引的思想。HAWQ使用專為HDFS量身打造的基于成本的查詢優化框架來增強其性能,所采用的MPP架構使用戶能夠獲益于優異的查詢性能,同時有效利用HDFS的分布式存儲、容錯機制、機架感知等功能,兼顧了低延時與高擴展。由此看來,在HAWQ上運行MADlib是實現大數據機器學習比較合理的選擇。

1.3.2 下載MADlib二進制壓縮包

下載地址為https://network.pivotal.io/products/pivotal-hdb。2.1.1.0版本的HAWQ提供了四個MADlib安裝文件,如圖1-6所示。經過測試,本環境只有MADlib 1.10.0版本的文件可以正常安裝。

圖1-6 下載MADlib安裝文件

1.3.3 安裝MADlib

以下命令需要使用gpadmin用戶、在HAWQ的Master主機上執行。

(1)解壓縮

tar -zxvfmadlib-ossv1.10.0_pv1.9.7_hawq2.1-rhel5-x86_64.tar.gz

(2)安裝MADlib的gppkg文件

gppkg -imadlib-ossv1.10.0_pv1.9.7_hawq2.1-rhel5-x86_64.gppkg

該命令在HAWQ集群的所有節點(Master和Segment)上創建MADlib的安裝目錄和文件,默認目錄為/usr/local/hawq_2_1_1_0/madlib。gppkg是Greenplum的包管理器應用程序,用于在集群所有節點上安裝Greenplum數據庫擴展包及其依賴。

(3)在指定數據庫中部署MADlib

$GPHOME/madlib/bin/madpack install -c /dm -s madlib -p hawq

該命令在HAWQ的dm數據庫中建立madlib schema,-p參數指定平臺為HAWQ。命令執行后可以查看在madlib schema中創建的數據庫對象。

從查詢結果可以看到,MADlib部署應用程序madpack首先創建數據庫模式madlib,然后在該模式中創建數據庫對象,包括一個表、一個序列、1324個普通函數、135個聚合函數。所有機器學習的模型、算法、操作和功能都是通過調用這些函數實際執行的。

(4)驗證安裝

$GPHOME/madlib/bin/madpack install-check -c /dm -s madlib -p hawq

該命令通過執行29個模塊的77個案例驗證所有模塊都能正常工作。命令輸出如下,如果看到所有案例都已經正常執行,就說明MADlib安裝成功。這條命令需要執行較長時間。

[gpadmin@hdp3 Madlib]$ $GPHOME/madlib/bin/madpack install-check -c /dm -s
madlib -p hawq
madpack.py : INFO : Detected HAWQ version 2.1.
TEST CASE RESULT|Module: array_ops|array_ops.sql_in|PASS|Time: 1851
milliseconds
TEST CASE RESULT|Module: bayes|gaussian_naive_bayes.sql_in|PASS|Time: 24222
milliseconds
TEST CASE RESULT|Module: bayes|bayes.sql_in|PASS|Time: 70634 milliseconds

…

TEST CASE RESULT|Module: pca|pca.sql_in|PASS|Time: 523230 milliseconds
TEST CASE RESULT|Module: validation|cross_validation.sql_in|PASS|Time: 33685
milliseconds
[gpadmin@hdp3 Madlib]$

1.3.4 卸載MADlib

卸載過程基本上是安裝的逆過程。

(1)刪除madlib模式

方法1,使用madpack部署應用程序刪除模式。

$GPHOME/madlib/bin/madpack uninstall -c /dm-s madlib -p hawq

方法2,使用SQL命令手工刪除模式。

drop schema madlib cascade;

(2)刪除其他遺留數據庫對象

① 刪除模式。如果模型驗證過程中途出錯,那么數據庫中可能包含測試的模式(模式名稱前綴都是madlib_installcheck_),只能手工執行SQL命令刪除,例如:

drop schema madlib_installcheck_kmeanscascade;

② 刪除用戶。如果存在遺留的測試用戶,就將其刪除,例如:

drop user if existsmadlib_1100_installcheck;

(3)刪除MADlib rpm包

查詢包名:

gppkg -q --all

輸出如下:

[gpadmin@hdp3 Madlib]$ gppkg -q --all
20170630:16:19:53:076493 gppkg:hdp3:gpadmin-[INFO]:-Starting gppkg with args:
-q --all
madlib-ossv1.10.0_pv1.9.7_hawq2.1

刪除rpm包:

gppkg -rmadlib-ossv1.10.0_pv1.9.7_hawq2.1
主站蜘蛛池模板: 方正县| 芜湖市| 开封县| 威远县| 西城区| 页游| 南木林县| 宁河县| 呼伦贝尔市| 会泽县| 康保县| 翁源县| 砀山县| 广元市| 登封市| 新民市| 汽车| 贵南县| 武山县| 察哈| 永康市| 馆陶县| 华阴市| 云浮市| 辽阳县| 罗定市| 镇坪县| 多伦县| 洛川县| 呼图壁县| 略阳县| 翁牛特旗| 叶城县| 桐庐县| 阳江市| 凌云县| 黑山县| 阜新市| 信丰县| 洮南市| 武宁县|