文档章节

spark做聚合计算

KYO4321
 KYO4321
发布于 2017/06/27 16:07
字数 66
阅读 9
收藏 0
from pyspark import SparkContext, SparkConf
conf = SparkConf().setAppName("My Spark Application").setMaster("local")
sc = SparkContext(conf=conf)
text = sc.textFile('/root/common_command/url_data.csv') 
url_info = text.map(lambda line:line.split(","))
id_info = url_info.map(lambda fields:((fields[0], fields[1]),(fields[3])))
url_cnt = id_info.countByKey().items()
url_num = id_info.distinct().countByKey().items()
x = sc.parallelize(url_cnt) 
y = sc.parallelize(url_num)
result = sorted(x.fullOuterJoin(y).collect())
print(result)
print("executed successfully!")

© 著作权归作者所有

共有 人打赏支持
KYO4321
粉丝 3
博文 83
码字总数 47289
作品 0
深圳
程序员
加载中

评论(5)

KYO4321
KYO4321
用Spark Python进行数据处理和特征提取
http://blog.csdn.net/u013719780/article/details/51768720
KYO4321
KYO4321
##也可以使用python进行处理
import pandas as pd
df = pd.read_csv('url_data.txt', sep=',')
df.groupby(['ID','name'])['url'].count()

"""
ID name
id1 user1 4
id2 user2 4
Name: url, dtype: int64
"""


df1= df.iloc[:, [0,1,3]]
df1 = df1.drop_duplicates()
df1.groupby(['ID','name']).count()
"""
url
ID name
id1 user1 1
id2 user2 2

"""
KYO4321
KYO4321
##源数据
##如下几个字段ID,name,cnt,url
##统计用户的总访问次数和去除访问同一个URL之后的总访问次数
"""
id1,user1,2,http://www.hupu.com
id1,user1,2,http://www.hupu.com
id1,user1,3,http://www.hupu.com
id1,user1,100,http://www.hupu.com
id2,user2,2,http://www.hupu.com
id2,user2,1,http://www.hupu.com
id2,user2,50,http://www.hupu.com
id2,user2,2,http://touzhu.hupu.com

"""
KYO4321
KYO4321
将正文中的代码封装到new_demo.py文件中,然后运行如下代码
sh run_spark.sh new_demo.py

即可得到相应结果:
[root@SZC-L0033614 common_command]# sh run_spark.sh new_demo.py
17/06/27 16:05:08 WARN SparkContext: Support for Java 7 is deprecated as of Spark 2.0.0
17/06/27 16:05:08 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/06/27 16:05:10 WARN Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.
[((u'id1', u'user1'), (4, 1)), ((u'id2', u'user2'), (4, 2))]
executed successfully!
KYO4321
KYO4321
[root@SZC-L0033614 common_command]# more call_pyspark.sh
cd /usr/lib/spark-2.1.0-bin-hadoop2.7/bin
./pyspark
[root@SZC-L0033614 common_command]# more run_spark.sh
spark_file=$1
/usr/lib/spark-2.1.0-bin-hadoop2.7/bin/spark-submit ${spark_file}
Apache Flink和Apache Spark有什么异同?它们的发展前景分别怎样?

============================= object WordCount { def main(args: Array[String]) {val env = new SparkContext("local","wordCount")val data = List("hi","how are you","hi")val dataSe......

justlpf
05/12
0
0
高性能Spark作业基础:你必须知道的调优原则及建议

在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操...

李雪蕤
08/22
0
0
Spark 入门(Python、Scala 版)

本文中,我们将首先讨论如何在本地机器上利用Spark进行简单分析。然后,将在入门级水平探索Spark,了解Spark是什么以及它如何工作(希望可以激发更多探索)。最后两节将开始通过命令行与Spa...

大数据之路
2015/05/07
0
0
Spark比拼Flink:下一代大数据计算引擎之争,谁主沉浮?

AI 前线导读: 做大数据绝对躲不过的一个热门话题就是实时流计算,而提到实时流计算,就不得不提 Spark 和 Flink。Spark 从 2014 年左右开始迅速流行,刚推出时除了在某些场景比 Hadoop Map...

AI前线
07/23
0
0
spark 大型项目实战(四):用户访问session分析(四) --简要技术方法的设计

1、按条件筛选session 2、聚合统计:统计出符合条件的session中,访问时长在1s~3s、4s~6s、7s~9s、10s~30s、30s~60s、1m~3m、3m~10m、10m~30m、30m以上各个范围内的session占比;访问步长在1...

u012957549
05/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

DES/3DES(TripleDES)加密、解密测试数据

以下结果经 PHP+openssl及VB.NET验证,ECB模式。 PHP 7.0.10 (cli) (built: Aug 18 2016 09:48:53) ( ZTS ) OpenSSL Library Version: OpenSSL 1.0.1t 3 May 2016 VB.net 2003 ****** DES(S......

SamXIAO
22分钟前
0
0
Java11的新特性

Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的新特性 Java10的新特性 Java11的新特性 Java12的新特性 序 本文主要讲述一下Java11的新特性 版本号 java...

go4it
23分钟前
1
0
Maven常用命令及相关笔记

Maven常用命令 dos指令 4. 编译源代码: mvn compile 6. 运行测试: mvn test 8. 打包: mvn package 9. 在本地Repository中安装jar: mvn install 10. 清除产生的项目: mvn clean 4. 运行项...

颖伙虫
29分钟前
0
0
swagger2.2.2 与 spring cloud feign冲突 导致服务请求报空

swagger2.2.2 与 spring cloud feign冲突 Java代码 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.choosefine.web.console.ar......

泉天下
32分钟前
0
0
设计模式之 明确责任 观察者模式 状态模式 责任链模式

观察者模式是任务分发的一种模式。 如果认为我们设计的系统的各个模块(或子系统)的最终目的是完成共同任务,那么这个任务如何分配到多个模块的就是我们遇到的第一个问题。简单设计场合我们...

backbye
37分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部