会员可以在此提问,尚新途老师有问必答

对大家有帮助的问答会被标记为“推荐”,看完课程过来浏览一下别人提的问题,会帮你学得更全面

截止目前,同学们一共提了128799个问题
now2019-06-20 19:14:15

克隆虚拟机后新的虚拟机出现这种情况怎么回事:1561029232(1).jpg

相关课程:大数据全系列/第一阶段:Linux 操作系统/Linux操作系统概述与安装
晴雪2019-06-11 22:53:22

我ping不通Baidu,经过查询我的本机IP是192.168.1.3 连这个也ping不通这个如何解决

相关课程:大数据全系列/第一阶段:Linux 操作系统/Linux操作系统概述与安装
Aaron2020-04-11 11:46:26

我这是带答疑的还是不带答疑的?为什么提问好几个月都没人回答呢?

相关课程:大数据全系列/第八阶段:Hive数仓 项目一 电信基站掉话率分析实战/运算符和函数、实战、动态分区、分桶
YXFvmmZpZ2qdbmw=2020-03-09 12:37:07

这个视频里面的离线文档能不能共享一下???

相关课程:大数据全系列/第十阶段:分布式数据库 HBase/hbase第1章
苦战1802021-02-01 08:21:00

老师好,这个问题为什么呀,在集群里运行注释掉的spark 是正常的aa.png

相关课程:大数据全系列/第十七阶段:Spark分布式计算框架(旧))/Spark分布式计算框架之SparkSQL
karent462020-08-05 16:49:27

image.png

location的目录是自动创建的吧

为什么会报这个错误

相关课程:大数据全系列/(旧)第二十一阶段:项目五 PB级音乐数据中心数仓综合项目/机器详细信息统计及日活跃用户统计
SimonAries2020-07-20 16:24:44

image.png

创建相同的表结构同时复制数据的时候,新表没有数据是怎么回事啊?

相关课程:大数据全系列/第八阶段:Hive数仓 项目一 电信基站掉话率分析实战/概述、搭建实战、sql语法、分区
保护色2021-09-15 16:56:07

设置策略中除了滚动策略还有什么?。。。。。。。。。。。。

相关课程:大数据全系列/第二十二阶段:Flink实时计算引擎/Flink的常用API详解
保护色2021-09-06 14:33:14

SparkStreaming写错啦。。。。。。。。。。。。

相关课程:大数据全系列/第十七阶段:Spark分布式计算框架(旧))/Spark分布式计算框架之SparkStreaming
fsagdfytv2021-03-07 08:17:50

hello,刚配置nginx.conf ,重启nginx后,可以在谷歌浏览器打开 ip及www.123.com ,但是在浏览器输入www.sxthenhao.com,无法显示index。

相关课程:大数据全系列/第二阶段:大型网站高并发处理/大型网站高并发处理
微信用户2020-10-20 23:10:24

老师,还是不太明白,有gzip属性的是什么意思啊?

相关课程:大数据全系列/第一阶段:Linux 操作系统/Linux常用命令
小黄鸭的好朋友2021-05-01 10:33:06

为啥我的Linux系统装好之后,每次启动虚拟机都会进入安装界面?image.png

相关课程:大数据全系列/第一阶段:Linux 操作系统/Linux操作系统概述与安装
沉默是金2020-02-20 14:53:17
from pyspark import SparkConf, SparkContext


def myprint(one):
    print(one)


def top2list(one):
    website = one[0]
    locals = one[1]
    localdic = {}
    for local in locals:
        if local in localdic:
            localdic[local] += 1
        else:
            localdic[local] = 1
    site_locallist = sorted(localdic.items(), key=lambda tp: tp[1], reverse=True)
    returnlist = []
    if (len(site_locallist) > 2):
        for i in range(2):
            returnlist.append(site_locallist[i])
    else:
        returnlist = site_locallist
    return website, returnlist


def get_site_uid_count(one):
    uid = one[0]
    sites = one[1]
    siteDic = {}
    for site in sites:
        if site in siteDic:
            siteDic[site] += 1
        else:
            siteDic[site] = 1
    returnlist = []
    for site, count in siteDic.items():
        returnlist.append((site, (uid, count)))
    return returnlist


def top3list(one):
    website = one[0]
    uid_count_itr = one[1]
    top3lists = ['', '', '']
    for uid_count in uid_count_itr:
        count = uid_count[1]
        for i in range(len(top3lists)):
            if top3lists[i] == "":
                top3lists[i] = uid_count
                break
            elif top3lists[i][1] < count://运行时总是提示这行,str与int之间不能比较,打印type(top3lists[i][1])为int)
                for j in range(2, i, -1):
                    top3lists[j] = top3lists[j - 1]
                top3lists = uid_count
                break

    return website, top3lists


def getApv():
    conf = SparkConf()
    conf.setMaster("local")
    conf.setAppName("pv")
    sc = SparkContext(conf=conf)
    linesRDD = sc.textFile("D:\mypython\date\website")
    # linesRDD.map(lambda line:(line.split("\t")[2],1)).reduceByKey(lambda v1,v2:v1+v2).\
    #     sortBy(lambda tp:tp[1],ascending=False).foreach(lambda one:myprint(one=one))
    # 每个网站访问最多的top2地区
    # site_local = linesRDD.map(lambda line:(line.split("\t")[4],line.split("\t")[2])).groupByKey()
    # site_local.map(lambda one:top2list(one)).foreach(print)
    # 每个网站最活跃的用户top3
    linesRDD.map(lambda line: (line.split("\t")[3], line.split("\t")[4])).groupByKey() \
        .flatMap(lambda one: get_site_uid_count(one)).groupByKey().map(lambda one: top3list(one)).foreach(print)


if __name__ == "__main__":
    getApv()


相关课程:大数据全系列/(隐藏)第十三阶段:机器学习及推荐系统实战/PySpark及线性回归算法

©2014-2023 百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备13018289号-12    营业执照    经营许可证:京B2-20212637