我有一个电影数据库的以下数据集:
评分:UserID,MovieID,评级电影:MovieID,类型用户:UserID,性别,年龄
我写了一个PIG脚本,以获得评分最高的电影的年龄组(20-30)的女性用户.以下是我到目前为止的代码:
users_input = load '/users.dat' USING PigStorage('\u003B') as (UserID: long, gender: chararray, age: int, occupation: int, zip: long);
movies_input = load '/movies.dat' USING PigStorage('\u003B') as (MovieID: long, title: chararray, genre: chararray);
ratings_input = load '/ratings.dat' USING PigStorage('\u003B') as (UserID: long, MovieID: long, rating: int, timestamp: chararray);
movie_filter = filter movies_input by (genre matches '.*Action.*') OR (genre matches '.*War.*');
temp = COGROUP movie_filter by MovieID, ratings_input by MovieID;
temp1 = FILTER temp BY COUNT(movie_filter) > 0;
temp2 = FOREACH …Run Code Online (Sandbox Code Playgroud) 只有当所有字段中都存在有效数据时才会启用两个按钮,即数字值和无负数.您是如何做到的?
我有一个用户定义的类Message,我想在客户端和服务器之间传递它的对象.
Message类如下:
import java.io.Serializable;
public class Message implements Serializable
{
String CorS;
int data_id;
int status_id;
Integer value;
boolean withdraw;
public Message()
{
CorS = null;
data_id = 0;
status_id = 0;
value = 0;
withdraw = false;
}
public Message(String CorS, int data_id, int status_id, Integer value)
{
this.CorS = CorS;
this.data_id = data_id;
this.status_id = status_id;
this.value = value;
}
public Message(boolean withdraw)
{
this.withdraw = withdraw;
}
}
Run Code Online (Sandbox Code Playgroud)
将对象发送到服务器的客户端代码如下:
Socket s = null;
ObjectInputStream in = null; …Run Code Online (Sandbox Code Playgroud) java ×2
apache-pig ×1
hadoop ×1
jtextfield ×1
mapreduce ×1
object ×1
serializable ×1
sockets ×1
swing ×1