还是昨天的Spark数据分析的问题,求代码,有帮助的可以再加C币

现在我有一组数据,第一列是入站口到出站口(OD),第二列是刷卡的卡号,第三列是出行总时间。
现在我想研究在相同的OD下,出行时长的分布,并从中筛选出出行时长异常的卡号,默认出行时长超过该OD最短出行时长2倍为异常。
图片说明

2个回答

 from __future__ import print_function

import sys

from pyspark.sql import SparkSession

def min(a,b):
    return a if a < b else b


if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage:  odcount <file>", file=sys.stderr)
        exit(-1)

    spark = SparkSession\
        .builder\
        .appName("PythonODCount")\
        .getOrCreate()

    lines = spark.read.text(sys.argv[1]).rdd.map(lambda r: r[0])
    lines = lines.filter( lambda line: len(line.strip()) > 0 )
    mintimes = lines.flatMap(lambda x: [x[1:-1]]) \
                  .map( lambda x: (x.split(',')[0], int(x.split(',')[2])) ) \
                  .reduceByKey(min)
    mintime_list = mintimes.collect()
    mintime_map = {}
    print("min time:")
    for (od, mintime) in mintime_list:
        mintime_map[od] = mintime
        print("%s: %i" % (od.encode('utf-8'), mintime))

    largelines = lines.flatMap(lambda x: [x[1:-1]]) \
                  .filter( lambda x: int(x.split(',')[2]) > 2 * mintime_map.get(x.split(',')[0]) )

    print("large time line:")
    for line in largelines.collect():
        print("%s" % line.encode('utf-8'))

    spark.stop()

先做一次运算得到每个OD的最短时间,存储到数据库之类。
第2次运算加载每个OD的最短时间,筛选大于该时间2倍的数据进行输出。

qq_39582456
qq_39582456 回复weixin_42072155: 我也知道逻辑是这样的,但是在写代码上出了问题= =
一年多之前 回复
weixin_42072155
weixin_42072155 好像是这样
一年多之前 回复
qq_39582456
qq_39582456 可不可以麻烦你写一段代码给我看看呢,我最近才开始学Spark,很多东西都不太懂
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spark数据分析 求大神指教
如何求某一列相邻的字段值得差,该字段为int类型rn12rn14rn17rn20rn22rn30rn转换成rn2rn3rn3rn2rn8rnrn
c币c币c币
网站是新用户为粪土。 没有任务,留住用户, 展现效果,给根骨头。 没有资源,没有c币。 上来就88,上来就298。 吃相难看,审核还慢。
求C币
不好意思打扰大家了
c的问题求帮助
struct subsequencern int value;rn int start;rn int end;rn;rnsubsequence maxsubsequence(int a[],int N)rnrnsubsequence maxsub;rnmaxsub.value=0;maxsub.start=0;maxsub.end=0;rnint sum=0;rnfor(int i=0;imaxsub.value)rn maxsub.value=sum;rn maxsub.end=i;rn rn else if(sum<0)rn rn sum=0;rn if(maxsub.value==0)maxsub.start=i+1;rn rn rnreturn maxsub;rnrn如果a[]=4,-5,4,5maxsub.start好象不对,if(maxsub.value==0)maxsub.start=i+1;有人能帮忙说下错在哪吗,如果这段代码没错,那么if(maxsub.value==0)maxsub.start=i+1;这又起什么作用,如果VALUE=0并不能保证最大子序一顶向下跳
多线程并发问题,有图,有C币
![图片说明](https://img-ask.csdn.net/upload/201509/19/1442669139_402394.png)nn结果出现1和2 和2,2都好理解,这个1,1的情况我该怎么理解呢??
spark数据分析
首先要运行spark,加载 py4j,执行shell.py  初始化 spark sc(SparkContext)编写处理rdd的代码代码分两类一类叫driver的代码  driver只有一个一类叫worker的代码  worker有多个 worker的代码有两类算子(操作operate) 变换 transformation 懒执行 map flatMap groupByKey reduceByK...
还是昨天的代码,问一个新的问题!
import java.util.*; rnrnpublic class Test rn private TreeSet ts; rn rn Test() rn this.ts = new TreeSet();rn rn rn public void addToSet(int no) rn MyClass mc = new MyClass();rn mc.a = no;rn mc.s = "";rn ts.add(mc);//当结束addToSet的调用后,mc会被当作垃圾回收吗?为什么?rn rn rn public static void main(String[] args) rn Test t = new Test();rn for (int i=0 ;i<2;i++) rn t.addToSet(i); rn rn rn rn public class MyClass rn public int a;rn public String s;rn rnrn
还是 昨天 的 自动编号 问题
[code=SQL]selectrn c.付款金额,c.付款日期,c.操作人,c.操作日期,c.债务人,rn d.付款金额 as 付款金额1,rn d.付款日期 as 付款日期1,rn d.操作人 as 操作人1,rn d.操作日期 as 操作日期1,rn d.债务人 as 债务人1rnfromrn ((select a.ID as 编号,a.付款金额,a.付款日期,a.操作人,a.操作日期,b.债务人 rn from rn (select * from 欠条明细表 where 欠条编号 in (select 编号 from 欠条表 where 1=1)) a,欠条表 b rn where a.欠条编号=b.编号 and (a.id%2<>0)) c rn full outer joinrn (select a.ID as 编号,a.付款金额,a.付款日期,a.操作人,a.操作日期,b.债务人 rn from rn (select * from 欠条明细表 where 欠条编号 in (select 编号 from 欠条表 where 1=1)) a,欠条表 b rn where a.欠条编号=b.编号 and (a.id%2=0)) d on c.编号=d.编号-1)rnorder by 债务人1,c.债务人 asc[/code]rn因为里面的有删除过的数据导致的不连续....rn生成的数据表里 面里有半边是空值. 所以 想 再定义一个自动编号的字段 再排列下 然后去分单双号. 用完了就把这个字段删除掉. 但不知道怎么做?rn[url=http://topic.csdn.net/u/20081223/19/2d53fd6d-9925-4b4b-aef0-623183d01b86.html][/url]rn这是先前发的贴 .原数据都在上面
还是昨天的连接问题.
人多的时候会出现,点某个连接,可能会2秒种后出现,但是假如这段时间连点的话可能会整个网站的连接都不响应,甚至静态页面也不行,刷新也不行,除非关掉页面,重新登陆,这是什么原因呢?服务器压力也不大.rnrnhttp://topic.csdn.net/u/20080227/16/dc56314b-0c5a-490f-a8a6-f6c290c0d2f1.html
还是昨天的问题
还是昨天的问题rn// mlyyytree.cpp : Defines the entry point for the console applicationrnrn#include "stdafx.h"rn#includern#define MAX 100rnusing namespace std;rnrntypedef struct _ml_YYY_Nodernrn int data;rn struct _ml_YYY_Node * lc;rn struct _ml_YYY_Node * rc;rnml_YYY_BTree;//定义树结点的结构体rnrnrnrn//二叉排序树的类定义rnclass ml_YYY_CreateTreernrnpublic:rn ml_YYY_CreateTree(int r[],int n);rn rn virtual ~ml_YYY_CreateTree();rn void ml_YYY_InSert(ml_YYY_BTree * root , ml_YYY_BTree * s);//在二叉树中插入结点rn void mlYYYinOrder(ml_YYY_BTree * root);//中序遍历rnprivate:rn ml_YYY_BTree * root;rn ml_YYY_BTree * s; //二叉排序树的根指针rn;rnrnrn//插入操作 rnvoid ml_YYY_CreateTree:: ml_YYY_InSert(ml_YYY_BTree * root , ml_YYY_BTree * s)rnrn if(root == NULL)rn rn root = s ;rn rn else if(s->data < root->data)rn rn ml_YYY_InSert(root->lc , s);rn rn elsern rn ml_YYY_InSert(root->rc , s);rn rnrnrnrnrnrnrn//二叉排序树的构造算法rn ml_YYY_CreateTree:: ml_YYY_CreateTree(int r[],int n)rn rn ml_YYY_BTree * root = NULL;rn for(int i = 0;i < n;i++)rn rn ml_YYY_BTree * s=(ml_YYY_BTree*)malloc(sizeof(ml_YYY_BTree));rn if(s == NULL)rn rn cout<<"Not Enough Memory!\n" ;rn rn elsern rn s->data = r[i];rn s->lc = NULL;rn s->rc = NULL;rn ml_YYY_InSert( root , s);rn rn rnrnrnrnrn//多态输出结果rnrnclass mlYYYshowrnrnpublic:rn virtual void disPlay(int n);rnprivate:rn int n;rn;rnrnclass mlYYYcircleShow:public mlYYYshowrnrn public:rn void disPlay(int n)rn rn if(n%3 == 0)rn rn cout<<"Circle-"<lc);rn show.disPlay(root->data);rn mlYYYinOrder(root->rc);rnrn rnrnrnrnrnrnrnvoid main()rnrn int i,n;rn int a[MAX];rn cout<<"intput the number of the ver "<>n;rn cout<<"请输入数字构造二叉树:"<> a[i] ;rn if(a[i] < 0 || !cin)rn rn cout<<"输入有误,请重新输入数字:"<
还是昨天问题
var objScript = document.createElement('script'); rnrnobjScript.id = objId; objScript.language = 'javascript'; objScript.src = url; rnrndocument.body.appendChild(objScript); rnrnrnrnrnurl = 'ceshi.ceshi.com/xao/xaodata.aspx?callback=你的js名称' rnrn请问这个动态创建脚本的代码有什么具体意义rn如果我需要从url的地址里调出一些内容进行测试,那么代码要如何写rn如何建立对远程数据的连接与显示
TO jerry_mouse() 还是昨天的问题
我用ceditview生成视图,并自己重载ondraw,可是选择文件并不能象我希望的那样显示,好象我的ondraw 没有用啊,why?
还是昨天的光标问题
我用BeginWaitCursor();不能将光标设为漏斗型。请问如何rnrn我的意图是:rnrn在执行连接时,在弹出等待对话框时,先将光标设为漏斗型:rnrnBeginWaitCursor();rnrnm_msgDlg.ShowWindow(SW_SHOW);rnrnrn
还是昨天的问题,
[url=http://bbs.csdn.net/topics/390822978]原问题[/url]rnrnrn由于昨天一些事,没有测试完全,[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/2.gif][/img],又来请教大牛们了,菜鸟谢过了。rnrn[code=sql]SELECT * FROM table WHERE CHARINDEX(','+参数+',',','+列名+',')>0[/code]rn上面这句话当参数是 0,1,2,3,4,5...的时候没有问题,但是当测试的是 0_1,0_1_2....这两类数据的时候,就出现错误了。
600分求代码。。不够可以再加。
谁有类似http://www.sjlatino.com/supergrid/Default.aspx的原代码。rn liuyang_@sohu.com 分不够我可以再加。。
求C币获得方式
学生一枚,想在csdn下载东西,但是C币不足啊啊啊啊。。。。。。
想下代码,却没有C币.....
想下代码,却没有C币.....
c语言问题求帮助
#include rnrnvoid main ()rnrnint x = 4, y;rny = x < 0 ? x++ : x--;rnprintf("%d %d\n" ,x, y); //3 4rnrn结果是: 3 4rn输出的y值为什么是4?怎么得来的啊?
javascript代码问题 求帮助
这是我找的一个代码,关于颜色的现实问题 可是解决不了啊 好心的高手帮忙解决一下rnrnrn rnrnrnrnfadein();rnrnrn
昨天的问题还是未解决
一软件下载的几个ASP,单独调试没任何问题,但把它嵌入到另一网站的框架内就不正常了,第一页能正常显示,但点下一页或其它分类就出现以下错误rnrnrnMicrosoft VBScript 编译器错误 错误 '800a03f6' rnrn缺少 'End' rnrn/iisHelp/common/500-100.asp,行242 rnrnADODB.Recordset 错误 '800a0bb9' rnrn变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。 rnrn/honglong/down.asp,行61 rnrnrndown.asp的全部代码是(DOWN.ASP是嵌入另一ASP程序中的):rnrnrnrnrn rn 程式下载页:rn rn rn rnrn<%rn const MaxPerPage=10rn dim totalPut rn dim CurrentPagern dim TotalPagesrn dim i,jrn dim filetype1rn filetype1="软件下载"rn dim filetypern rn filetype=request.Querystring("filetype")rn if not isempty(request("page")) thenrn currentPage=cint(request("page"))rn elsern currentPage=1rn end ifrn rn%>rnrnrn rnrn rn rn 管理入口→非请莫入! >> 当前位置 > 首页 > rn 程式下载rn rnrn rnrn rn rn 程式下载 rn 列表rn rn rn 全部软件|安全防御|聊天工具|木马冰河|扫描工具|密码破解|邮箱工具|炸弹攻击|QQ工具|其他软件rn rn rn rn rn<%rndim sqlrndim rsrnsql="select * from download order by id desc"rnSet rs= Server.CreateObject("ADODB.Recordset")rnif filetype="" thenrnrs.open sql,conn,1,3rnend ifrnif filetype="安全防御" thenrnrs.open "select * from download where filetype='安全防御' order by id desc",conn,1,1rnend ifrnif filetype="聊天工具" thenrnrs.open "select * from download where filetype='聊天工具' order by id desc",conn,1,1rnend ifrnif filetype="木马冰河" thenrnrs.open "select * from download where filetype='木马冰河' order by id desc",conn,1,1rnend ifrnif filetype="扫描工具" thenrnrs.open "select * from download where filetype='扫描工具' order by id desc",conn,1,1rnend ifrnif filetype="密码破解" thenrnrs.open "select * from download where filetype='密码破解' order by id desc",conn,1,1rnend ifrnif filetype="邮箱工具" thenrnrs.open "select * from download where filetype='邮箱工具' order by id desc",conn,1,1rnend ifrnif filetype="炸弹攻击" thenrnrs.open "select * from download where filetype='炸弹攻击' order by id desc",conn,1,1rnend ifrnif filetype="QQ工具" thenrnrs.open "select * from download where filetype='QQ工具' order by id desc",conn,1,1rnend ifrnif filetype="其他软件" thenrnrs.open "select * from download where filetype='其他软件' order by id desc",conn,1,1rnend ifrn if rs.eof and rs.bof thenrn response.write " 还 没 有 任 何 程 序"rn elsern totalPut=rs.recordcountrn totalPut=rs.recordcountrn if currentpage<1 thenrn currentpage=1rn end ifrn if (currentpage-1)*MaxPerPage>totalput thenrn if (totalPut mod MaxPerPage)=0 thenrn currentpage= totalPut \ MaxPerPagern elsern currentpage= totalPut \ MaxPerPage + 1rn end ifrnrn end ifrn if currentPage=1 thenrn showpage totalput,MaxPerPage,"down.asp"rn showContentrn showpage totalput,MaxPerPage,"down.asp"rn elsern if (currentPage-1)*MaxPerPage rn rn ID号rn 程式名称rn 程式简介rn 点击rn rn<%do while not rs.eof%>rn rn <%=rs("id")%>rn &filename=<%=rs("filename")%>"><%=rs("showname")%>rn <%=rs("note")%>rnrn <%=rs("hits")%>rn rn<% i=i+1rn if i>=MaxPerPage then exit dorn rs.movenextrn looprn %>rn rn <%rn end sub rnrnfunction showpage(totalnumber,maxperpage,filename)rn dim nrn if totalnumber mod maxperpage=0 thenrn n= totalnumber \ maxperpagern elsern n= totalnumber \ maxperpage+1rn end ifrn response.write " "rn response.write " >>分页 "rn if CurrentPage<2 thenrn response.write "首页 上一页 "rn elsern response.write "首页 "rn response.write "上一页 "rn end ifrn if n-currentpage<1 thenrn response.write "下一页 尾页"rn elsern response.write "下一页 尾页"rn end ifrn response.write " 页次:"&CurrentPage&"/"&n&"页 "rn response.write " 共"&totalnumber&"个程式 "&maxperpage&"个程式/页 "rn response.write " 转到:"rn response.write ""rn rnend functionrnrn rn%>rn  rn rnrnrnrn rnrnrnrnrnrnrn
还是publish的问题,续昨天的……
昨天更新了MDAC之后,确实是可以发布了,之后我添了一个Options Form以及做了一些其他改动,然后又不能发布了,这个……到底问题出在哪里呢?大家帮忙看看吧,谢谢!rn使用的是W2K Sp4+VB6.0
还是昨天的问题,没能解决
我想达到这样的结果,就是: rn有图片的显示相关图片;没有图片的,显示特定的一个图片:rnrn<% if photo=0 %>rnrn rnrn<%else%>rnrn rnrn<%end if%>rnrn可是就是不成功,请赐教到底,怎么写才能达到想要的结果呢?
急求!!!!时间比较问题,分值可以再加!!
rn 我想在JSP页面中得到一个系统时间,然后去ORACLE数据库中比较,表中有两个字段,一个开始时间(starttime),一个结束时间(overtime),怎样在表中搜索出系统时间在两个字段之间的记录rn 这是我写的,可不对,请您指教:rnjava.util.Date t=new java.util.Date();rn String str=t.toString();rn out.print(t.toString());rn ResultSet rs=data.executeQuery("select * from zhiri where to_data('"+str+"','yyyymmdd') between starttime and overtime");
spark高级数据分析第二章
首先说一下为什么写这个呢?因为我在看第二章时候遇到了一段代码,看了好长时间才明白了 ,写这个博客主要就是为了讲解那段代码自己的理解,我也是根据最后的结果来猜测这段代码,然后再去深度理解代码,最后才搞懂了这段代码的含义。其中数据类型是如下格式“id_1” “id_2” “cmp_fname_c1” “cmp_fname_c2” “cmp_lname_c1” “cmp_lname_c2”
Spark高级数据分析
Spark数据分析
Spark数据分析概念入门
原文地址: http://blog.52sox.com/Spark-d... 在大数据的时代,数据的各种术语层出不穷,比如数据仓库、数据湖,还有比较热门的Hadoop、Spark,让人眼花缭乱。在这里,我们主要介绍的是Spark,从宏观的角度来介绍Spark到底是什么。 我们将解决如下几个简单的问题: Spark是什么 Spark的...
第一章 spark数据分析导论
1.1 spark是什么 spark是一个用来实现快速而通用的集群计算的平台。 spark比mapreduce更加高效,适用于各种原先需要多种不同分布式平台的场景,包括批处理、迭代算法、交互式查询、流处理。 1.2 一个大一统的软件栈 spark的核心是一个对由很多计算任务组成的、运行在多个工作机器或者是一个计算集群上的应用进行调度、分发以及监控的计算引擎。
Spark高级数据分析.pdf
Spark高级数据分析.pdf
Spark快速数据分析-高清
《Spark快速大数据分析》高清版。机器学习大数据算法参考书 Spark作者及核心成员执笔 精通大数据处理技术。 是一本为Spark初学者准备的书,它没有过多深入实现细节,而是更多关注上层用户的具体用法。不过,本书绝不仅仅限于Spark的用法,它对Spark的核心概念和基本原理也有较为全面的介绍,让读者能够知其然且知其所以然。   本书介绍了开源集群计算系统Apache Spark,它可以加速数据分析的实现和运行。利用Spark,你可以用Python、Java以及Scala的简易API来快速操控大规模数据集。
spark高级数据分析
本书是使用Spark进行大规模数据分析的实战宝典,由著名大数据公司Cloudera的数据科学家撰写。四位作者首先结合数据科学和大数据分析的广阔背景讲解了Spark,然后介绍了用Spark和Scala进行数据处理的基础知识,接着讨论了如何将Spark用于机器学习,同时介绍了常见应用中几个最常用的算法。此外还收集了一些更加新颖的应用,比如通过文本隐含语义关系来查询Wikipedia或分析基因数据。
《Spark高级数据分析》
本书是使用Spark进行大规模数据分析的实战宝典,由著名大数据公司Cloudera的数据科学家撰写。四位作者首先结合数据科学和大数据分析的广阔背景讲解了Spark,然后介绍了用Spark和Scala进行数据处理的基础知识,接着讨论了如何将Spark用于机器学习,同时介绍了常见应用中几个最常用的算法。此外还收集了一些更加新颖的应用,比如通过文本隐含语义关系来查询Wikipedia或分析基因数据。
《Spark高级数据分析》源代码
本资源是《Spark高级数据分析》的书中示例的源代码。本书是使用Spark进行大规模数据分析的实战宝典,由大数据公司Cloudera的数据科学家撰写。四位作者首先结合数据科学和大数据分析的广阔背景讲解了Spark,然后介绍了用Spark和Scala进行数据处理的基础知识,接着讨论了如何将Spark用于机器学习,同时介绍了常见应用中几个常用的算法。此外还收集了一些更加新颖的应用,比如通过文本隐含语义关系来查询Wikipedia或分析基因数据。
C语言有不懂,求帮助
#include rnrnint main( void )rnrn char let = 'F';rn char start;rn char end;rn rn for (end = let; end >= 'A'; end--) //这里的>= 是什么意思啊?rn rn for (start = let; start >= end; start--)rn printf("%c", start);rn printf("\n");rn rn rn return 0;rnrn请帮忙解释下for循环
spark数据分析(3)
combineByKey(createCombiner,mergeValue,mergeCombiners)    createCombiner: combineByKey() 会遍历分区中的所有元素,因此每个元素的键要么还没有遇到过,要么就 和之前的某个元素的键相同。如果这是一个新的元素, combineByKey() 会使用一个叫作 createCombiner() 的函数来创建 那个键对应的...
第一章:Spark数据分析导论
1.Spark是什么? Spark是一个快速而通用的集群计算平台。 快速: - spark扩展了MapReduce模型,更高效地支持更多计算模式,包括交互式查询和流处理。 - Spark能在内存中进行计算,即使是必须在磁盘上进行计算,spark仍然比MapReduce高效。 通用: - 适用于多种分布式计算场景,包括批处理、迭代算法、交互式查询、流处理。
Spark高级数据分析_完整版
Spark高级数据分析完整版
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview