安装madlib
- 解压madlib压缩包
tar -zxvf madlib-1.16+3-gp6-rhel7-x86_64.tar.gz
2.安装madlib应用
gppkg -i madlib-1.16+3-gp6-rhel7-x86_64.gppkg
若是提示glibc版本不匹配,按下列方式处理
解压文件,赋予权限
chmod +x libstdc++.so.6.0.26
替换系统文件
rm /lib64/libstdc++.so.6
ln -s /lib64/libstdc++.so.6.0.26 /lib64/libstdc++.so.6
3.重启数据库启用madlib
$GPHOME/madlib/bin/madpack install -s madlib -p greenplum -c mppadmin@mpp72:54323/postgres
测试madlib函数
- 准备测试表及数据;
CREATE table test_data(trans_id int, product text);
INSERT INTO test_data VALUES
(1, 'beer'),
(1,'diapers'),
(1,'chips'),
(2,'beer'),
(2,'diapers'),
(3,'beer'),
(3,'diapers'),
(4,'beer'),
(4,'chips'),
(5,'beer'),
(6,'beer'),
(6,'diapers'),
(6,'chips'),
(7,'beer'),
(7,'diapers');
调用关联规则函数;
Madlib的assoc_rules函数生成所有满足给定最小支持度和最小置信度的关联规则。
assoc_rules( support, 最小支持度
confidence, 最小置信度
tid_col,事务ID列名
item_col,项目对应的列名
input_table,包含输入数据的表名
output_schema,输出schema名
verbose
)
SELECT * from madlib.assoc_rules(
.25,
.5,
'trans_id',
'product',
'test_data',
'public',
false);
查看数据;
select * from assoc_rules;