gpt4 book ai didi

hadoop - Apache PIG入门,需要有关脚本的帮助

转载 作者:行者123 更新时间:2023-12-02 21:26:34 24 4
gpt4 key购买 nike

昨天我开始使用Pig来找工作,但以前从未使用过它,所以下周必须生产一些东西。我仍然没有设法安装它,但正在努力...

同时,我尝试学习使用Pig Latin,并且产生了一些东西,但是我无法对其进行测试。

我正在处理的数据具有以下形式
用户名|国家/地区|电影|导演
每次用户观看电影时,文件中都会有一个新条目,文件代表1天。

我想要做的是创建一个“用户个人资料”,说明该用户的前五部电影,前五名的导演以及用户每天观看多少部电影。

我编码的是:

daily_watch=LOAD '$docs_in' USING PigStorage('|') AS     (user_id:int,country:chararray,director_id:int,movie_id:int)

users=GROUP daily_watch BY (user_id);
number_of_watch= FOREACH users GENERATE group, COUNT(daily_watch) AS total;
STORE number_of_watch INTO "$number_of_watch"
--at this point I want number of watch = (user_id,number_film_watched)


directors_and_users = GROUP daily_watch BY (user_id,director_id);
top_directors= FOREACH directors_and_users GENERATE
user_id
group
COUNT(daily_watch) AS total_director;
top5_directors= FOREACH top_directors {
sorted = order directors_and_users by total_directors desc;
top5= limit sorted 5;
GENERATE FLATTEN(top5);
};
STORE top_director INTO "$top5_directors"
--at this point I want top5_directors=(user_id,{user_id,director_id},number_of_movie_seen_from_director)


movies_directors_users= GROUP daily_watch BY (user_id,movie_id,director_id);
top_movies = FOREACH movies_directors_users GENERATE
user_id
group
COUNT(daily_watch) AS total_movies
;
top5_movies= FOREACH top_movies {
sorted=order movies_directors_users by total_movies desc;
top5=limit sorted 5;
GENERATE FLATTEN(top5);
}
--at this point, I want top5_movies=(user_id,{user_id,director_id,movie_id},number_of_times_movie_seen)


STORE top5_movies INTO "$top5_movies"
output= FOREACH users GENERATE AppendToBag(top5_movies.$1,top5_movies.$2,top5_directors.$1,top5_directors.$2)
-- now I want to have output=(user_id,{user_id,director_id,movie_id},number_of_times_movie_seen,{user_id,director_id},number_of_movie_seen_from_director)

我的代码中是否有任何明显的错误?我的方法好吗?我试图将此代码嵌入python(我已经编写了python部分)。

另外,有没有一种简单的方法来测试我的代码? (我已经写了一些txt文件进行测试,但是我很难在我的PC上安装hadoop和pig(我有Windows 7)。

非常感谢您的帮助 !

最佳答案

您可以使用带有轻量级VM的Cloudera-Live。它附带了Cloudera Hue,这是一个基于Django的网络工具,附带了Pig编辑器,您可以将其用于测试和运行。脚本编写愉快!

关于hadoop - Apache PIG入门,需要有关脚本的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35778654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com