数据上传到MaxCompute(原ODPS)__用户指南_推荐引擎-阿里云
大数据计算服务MaxCompute(原ODPS)用于在推荐引擎中对大批量离线数据进行计算和存储。开通ODPS和详细操作请点击大数据平台帮助指南,购买链接请点击开通大数据计算服务(原ODPS)
① 在MaxCompute(原ODPS)中创建Project项目
您需要先创建MaxCompute的项目空间(Project),该项目空间用于在推荐引擎中进行离线数据计算,创建方法请参考创建项目空间。
创建完项目空间后,请记录下项目名称、Access Key ID和SECRET,后续在配置推荐引擎时会使用。
如果想了解数据开发(DATA IDE)的更多功能,请点击数据开发概述,您可以通过数据开发的控制台管理MaxCompute,进行数据ETL等操作。
② 将示例数据导入到MaxCompute的数据表中
A场景:数据在本地
本示例中,我们使用MaxCompute dship命令将本地数据导入到MaxCompute的数据表中。
上传工具:dship (MaxCompute新版推荐使用 MaxCompute Tunnel命令,您也可以参考TUNNEL命令手册使用TUNNEL来完成数据上传)
create table movielens_1m_movies (
movie_id string,
title string,
genres string
);
dship u D:workDatasetMovieLensml-1mmovies.dat alidata_rp.movielens_1m_movies -h false -fd :: -rd n
create table movielens_1m_users (
user_id string,
gender string,
age bigint,
occupation string,
zipcode string
);
dship u D:workDatasetMovieLensml-1musers.dat alidata_rp.movielens_1m_users -h false -fd :: -rd n
create table movielens_1m_ratings (
user_id string,
movie_id string,
rate double,
ts bigint
);
dship u D:workDatasetMovieLensml-1mratings.dat alidata_rp.movielens_1m_ratings -h false -fd :: -rd n
B场景:数据在RDS中
- 先看RDS中的数据字段,然后在MaxCompute中创建一个一模一样字段的表,然后在大数据开发DataIDE中创建一个同步任务,源数据表设置成RDS的表,目标表设置成MaxCompute的表。
- 等数据同步到MaxCompute后,再在DataIDE中加工数据,加工成推荐要求的数据
其他场景
当您的数据保存在其他数据源时,您可以参考云上数据集成方案
③ 在MaxCompute中创建推荐引擎需要的数据表
数据规范参照数据格式规范
create table aliyun_re_demo_ml1m_user_meta (
user_id string,
tags string
) partitioned by (ds string);
create table aliyun_re_demo_ml1m_user_meta_config (
config_name string,
config_value string
) partitioned by (ds string);
create table aliyun_re_demo_ml1m_item_meta (
item_id string,
category string,
keywords string,
description string,
properties string,
bizinfo string
) partitioned by (ds string);
create table aliyun_re_demo_ml1m_item_meta_config (
config_name string,
config_value string
) partitioned by (ds string);
create table aliyun_re_demo_ml1m_user_behavior (
user_id string,
item_id string,
bhv_type string,
bhv_amt double,
bhv_cnt double,
bhv_datetime datetime,
content string,
media_type string,
pos_type string,
position string,
env string,
trace_id string
) partitioned by (ds string);
create table aliyun_re_demo_ml1m_rec_item_info (
item_id string,
item_info string
) partitioned by (ds string);
④ 将示例数据导入到步骤③创建的数据表
注意:用户表和物品表需要在DS分区中导入全量,行为表在DS分区中导入每天的增量即可。
-------------------------------------------------------------
insert overwrite table aliyun_re_demo_ml1m_user_meta partition (ds='recent')
select
user_id,
concat('age 03', age, ' 02gender 03', gender, ' 02occupation 03', occupation) as tags
from alidata_rp.movielens_1m_users
;
insert overwrite table aliyun_re_demo_ml1m_user_meta_config partition (ds='recent')
select *
from (
select 'age', 'sv_enum' from dual
union all
select 'gender', 'sv_enum' from dual
union all
select 'occupation', 'sv_enum' from dual
) t
;
-------------------------------------------------------------
insert overwrite table aliyun_re_demo_ml1m_item_meta partition (ds='recent')
select
movie_id as item_id,
t2.category as category,
REGEXP_REPLACE(t1.genres, '\|', ' 02') as keywords,
title as description,
concat('genres 03', REGEXP_REPLACE(t1.genres, '\|', ' 04')) as properties,
null
from alidata_rp.movielens_1m_movies t1
join (
select distinct genres, category
from (
select genres, DENSE_RANK() over(partition by 1 order by genres) as category
from alidata_rp.movielens_1m_movies
) t
) t2
on t1.genres = t2.genres
;
insert overwrite table aliyun_re_demo_ml1m_item_meta_config partition (ds='recent')
select 'genres', 'mv_enum' from dual
;
-------------------------------------------------------------
insert overwrite table aliyun_re_demo_ml1m_rec_item_info partition (ds='recent')
select
movie_id as item_id,
concat('{"title":"', title, '","genres":"', genres, '"}') as item_info
from alidata_rp.movielens_1m_movies
;
-------------------------------------------------------------
insert overwrite table aliyun_re_demo_ml1m_user_behavior partition (ds='recent')
select
user_id, movie_id as item_id,
"grade" as bhv_type,
rate as bhv_amt, 1.0 as bhv_cnt,
FROM_UNIXTIME(ts) as bhv_datetime,
null, null, null, null, null, null
from alidata_rp.movielens_1m_ratings
;
最后更新:2016-11-23 16:04:08
上一篇:
步骤五:启用推荐业务__快速入门_推荐引擎-阿里云
下一篇:
创建表格存储实例(可选)__用户指南_推荐引擎-阿里云
删除流控策略__流量控制相关接口_API_API 网关-阿里云
日志服务监控指标__常见问题_日志服务-阿里云
SDK示例代码运行简介__数据订阅_用户指南_数据传输-阿里云
权限__授权管理_用户指南_访问控制-阿里云
基本问题__常见问题_日志服务-阿里云
创建数据库和账号(SQL Server 2008 R2)__设置实例基础配置_快速入门(SQL Server)_云数据库 RDS 版-阿里云
OSSWriter__Writer插件_使用手册_数据集成-阿里云
多方式写入__高级特性_DataHub实时数据通道_大数据计算服务-阿里云
GetPolicy__授权策略管理接口_RAM API文档_访问控制-阿里云
Flume MaxCompute Sink插件__数据入云_数据集成-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云