user_artist__data数据记录用户播放某首歌曲的次数,数据包含3个字段,分别为useid(用户ID)、artistid(艺术家ID)、playcount(播放次数)。
user_artist_data.txt
使用SparkSQL对该数据进行探索分析。
(1)统计非重复的用户个数。
(2)统计用户听过的歌曲总数。
(3)找出ID为“1000002”的用户最喜欢的10首歌曲(即播放次数最多的10首歌曲)。
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;
public class homework_4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
SparkSession spark = SparkSession.builder().master("local").appName("Java Spark SQL basic example").config("spark.testing.memory","2147480000").getOrCreate();
Dataset df = spark.read().format("csv").option("header", "true").load("file:///homeq/eclipse-workspace/user_artist_data.csv");
//df.show();
df.createOrReplaceTempView("UAD");
//1)统计非重复的用户个数。
//spark.sql("select count(distinct userid) as usernumber from UAD ").show();
//统计用户听过的歌曲总数。
// spark.sql("select userid,count(playcount) as playcount from UAD group by userid").show();
System.err.println("");
// 找出ID为“1000002”的用户最喜欢的10首歌曲(即播放次数最多的10首歌曲)。
spark.sql("select * from UAD where userid='1000002' order by playcount desc limit 10").show();
}
}



