在HIVE中使用机器学习

在实际工业环境中,线下模型如何在大型数据中进行部署?这里介绍一种可以在HIVE环境中实现机器学习算法的工具——Hivemall。

1.什么是Hivemall?

hivemall是基于hive udf的机器学习工具,其开源地址为:https://github.com/apache/incubator-hivemall。
它提供的机器学习算法有:

算法类型具体算法
回归
分类
推荐
异常检测
create table lr_model as 
select feature, avg(weight) as weight
from (
	select logresss(features, label,..)
	as (feature, weight)
	from train
) t group by feature;
2.安装hivemall

安装包下载地址:
https://github.com/myui/hivemall/releases
(PS:需要下载3个文件,博主安装的是hivemall-nlp-0.4.2-rc.2-with-dependencies.jar和define-all-as-permanent.hive和define-all.hive)。

  • 安装方法1:临时加载(即每次启动hive session时,都运行下面的命令一遍)
add jar hdfs://apps/hivemall/hivemall-core-0.4.2-rc.2-with-dependencies.jar;  
source /tmp/define-all.hive;
  • 安装方法2: 永久加载(在hive环境中将hivemall作为类持久函数(permanent functions)安装 )
    步骤1:将hivemall的jar包 上传到 HDFS上。
  hadoop fs -mkdir /apps/hivemall
  hadoop fs -put hivemall-core-0.4.2-rc.2-with-dependencies.jar /apps/hivemall

步骤2:创建permanent functions
使用define-all-as-permanent.hive创建permanent functions.

set hivevar:hivemall_jar=hdfs://apps/hivemall/hivemall-core-0.4.2-rc.2-with-dependencies.jar;  
source define-all-as-permanent.hive;
3. 应用知识点1:hivemall中训练数据的输入格式

在有监督机器学习模型中,输入的数据有特征feature、标签label、超参(可选)。
1)Hivemall接收feature的格式

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐