目录
本篇文章记录各区域热门商品统计-查询各区域各商品的点击次数并拼接城市列表。
修改mysql数据表字段
area_top3_product
alter table area_top3_product change city_names city_infos varchar(255);
代码
AreaTop3ProductSpark.java
/** * 生成各区域各商品点击次数的临时表 * @param sqlContext */ private static void genrateTempAreaProductClickCountTable(SQLContext sqlContext) { // 按照area和product_id两个字段进行分组 // 计算出各区域各商品的点击次数 // 可以获取到每个area下的每个product_id的城市信息拼接起来的串 String sql = "SELECT " + "area," + "product_id, " + "count(*) click_count, " + "group_concat_distinct(concat_long_string(city_id,city_name,':')) city_infos " + "FROM tmp_click_product_basic " + "GROUP BY area,product_id "; // 使用Spark SQL执行这条SQL语句 Dataset ds = sqlContext.sql(sql); // 再次将查询出来的数据注册为一个临时表 // 各区域各商品的点击次数(以及额外的城市列表) ds.registerTempTable("tmp_area_product_click_count"); }

本文介绍了一种使用Spark SQL实现的方案,该方案用于统计不同区域内的商品点击次数,并且能够生成包含各区域热门商品及其对应城市的列表。通过执行特定的SQL语句,实现了对原始点击数据的聚合和城市信息的拼接。
847

被折叠的 条评论
为什么被折叠?



