spark-sql分组去重总数统计uv
2024-10-18 21:20:55
SparkConf sparkConf = new SparkConf();
sparkConf
.setAppName("Internal_Func")
.setMaster("local"); JavaSparkContext javaSparkContext = new JavaSparkContext(sparkConf);
SQLContext sqlContext = new SQLContext(javaSparkContext); List<String> list = new ArrayList<String>();
list.add("1,1");
list.add("2,11");
list.add("2,111");
list.add("2,111");
list.add("3,1111");
list.add("3,11111"); JavaRDD<String> rdd_str = javaSparkContext.parallelize(list, 5); JavaRDD<Row> rdd_row = rdd_str.map(new Function<String, Row>() {
@Override
public Row call(String v1) throws Exception {
String ary[] = v1.split(",");
return RowFactory.create(ary[0], Long.parseLong(ary[1]));
}
}); List<StructField> fieldList = new ArrayList<StructField>();
fieldList.add(DataTypes.createStructField("name", DataTypes.StringType, true));
fieldList.add(DataTypes.createStructField("sc", DataTypes.LongType, true));
StructType tmp = DataTypes.createStructType(fieldList); DataFrame df = sqlContext.createDataFrame(rdd_row, tmp);
df.registerTempTable("tmp_sc"); DataFrame df_agg = sqlContext.sql("select name,count(distinct(sc)) from tmp_sc group by name");//去重后分组求和统计 df_agg.show();
最新文章
- 02-C#入门(循环)
- hud1166 敌兵布阵
- Intent Flag(转)
- Windows Server 2008 R2 域控修改域用户密码复杂性
- PayPal 开发详解(三):在网站上创建【立即付款】按钮
- hdu 3836 Equivalent Sets
- linux下使用go-oci8
- 动态PDF在线预览
- Oracle 导出HTML
- 完美版cookie设置/得到/删除2016/423
- sizeof 与 strlen
- shell 脚本编写 if else then
- Hibernate 对象关系映射文件
- HTTP请求的502、504、499错误
- bootstrap简单使用
- 特殊字符url编码以后再解码后出现错误(&;not , &;cent, &;curren, &;pound)
- 那些年读过的书《Java并发编程的艺术》一、并发编程的挑战和并发机制的底层实现原理
- format格式化函数
- linux运行.sh命令
- Hibernate的七种映射关系之基本映射
热门文章
- 再说C模块的编写(1)
- echart 常用配置
- [原创]创芯电子实验室iFPGA-Cable JTAG工具实物图
- ionic 3 热更新 Hot Code Push
- ubuntu+github配置使用
- 关闭IIS开启自启
- 利用yarn capacity scheduler在EMR集群上实现大集群的多租户的集群资源隔离和quota限制
- 潭州课堂25班:Ph201805201 tornado 项目 第七课 界面美化和静态文件处理(课堂笔记)
- docker+ubuntu14.04+cuda7.0
- Linux系统(和mac系统)chmod修改权限总结