首页 > 其他分享 >寒假生活指导03

寒假生活指导03

时间:2024-01-11 10:23:50浏览次数:27  
标签:03 sc collect 指导 rdd 寒假 print rdds lambda

今天继续rddd练习:

from pyspark import SparkConf,SparkContext
#创建sparkconf对象
conf = SparkConf().setMaster("local[*]").setAppName("test_app")
#基于sparkconf对象创建sparkContext对象
sc = SparkContext(conf=conf)
##########基本结构

#map计算
# rdd = sc.parallelize([1,2,3,4,5])
# def func(date):
#     return date*10
# rdds=rdd.map(func)

#flatMap解除嵌套
# rdd = sc.parallelize(["dwad wad wdas","dwadw dfgawdfw dwad","dwadwad"])
# rdds=rdd.flatMap(lambda x : x.split(" "))

#reduceByKey分组两两计算
# rdd=sc.parallelize([('男',99),('女',99),('女',99),('男',99),('男',99),('男',99)])
# rdds = rdd.reduceByKey(lambda a, b: a+b)
# print(rdds.collect())

#filter过滤数据
# rdd=sc.parallelize([1,2,3,4,5])
# rdds = rdd.filter(lambda num: num % 2 == 0)
# print(rdds.collect())

#distinct去重
# rdd=sc.parallelize([1, 2, 3, 4, 5, 1])
# rdds = rdd.distinct()
# print(rdds.collect())

#停止spark
#sortBy排序
# rdd = sc.parallelize([("daw", 5),("wd", 2),("ww", 54),("wes", 1)])
# rdds = rdd.sortBy(lambda x: x[1],ascending=False, numPartitions=1)
# print(rdds.collect())

rdd = sc.parallelize([1, 2, 3, 4, 5, 6])
#collect 输出RDD为list对象
list =rdd.collect()
print(list)
#reduce 对rdd进行两两聚合
num = rdd.reduce(lambda a, b: a + b)
print(num)
#take 取出rdd中N个元素,list返回
take_list = rdd.take(3)
print(take_list)
#count 统计rdd中有多少条数据,返回数字
num_count = rdd.count();
print(num_count)


sc.stop()

 

 

 

 

 

 

from pyspark import SparkConf,SparkContext
import json
#创建sparkconf对象
conf = SparkConf().setMaster("local[*]").setAppName("test_app")
#基于sparkconf对象创建sparkContext对象
sc = SparkContext(conf=conf)
file_rdd = sc.textFile("D:/order.txt")
json_str_rdd = file_rdd.flatMap(lambda x: x.split("|"))
#转化为map
dict_rdd = json_str_rdd.map(lambda x: json.loads(x))
#城市销售额排名
#print(dict_rdd.collect())
city_with_money = dict_rdd.map(lambda x: (x['areaName'], int(x['money'])))
city_result = city_with_money.reduceByKey(lambda a,b: a+b)
res1 = city_result.sortBy(lambda x: x[1],ascending=False,numPartitions=1)
print(res1.collect())

#全部城市有哪些在买
res2 = dict_rdd.map(lambda x: x['category']).distinct()
print(res2.collect())

#北京有什么在卖
beijing_data_rdd = dict_rdd.filter(lambda x:x['areaName'] == '北京')

res3 = beijing_data_rdd.map(lambda x:x['category']).distinct()
print(res3.collect())
#停止spark
sc.stop()

 

标签:03,sc,collect,指导,rdd,寒假,print,rdds,lambda
From: https://www.cnblogs.com/syhxx/p/17957971

相关文章

  • 【APP逆向03】反编译后代码定位
    需求:抓包某款APP的登录请求,定位到密码加密的逻辑1.通过抓包分析,password被加密了2.反编译定位位置URL网址或参数关键字pwd"pwd"put("pwd等关键字搜索3.双击,跳转4.右击,查找用例5.右击--查找声明6.此处就是密码的加密逻辑,简单的md5,使用python复现imp......
  • RLAIF方法与传说中的函数'Q',揭露OpenAI那不为人知的Qstar计划
    早晨刚起来,看群里新哥转了这个帖子:   帖子不长,但是基本是爆炸类的新闻了!这个应该也就是Sam之前被董事会诟病的所谓隐瞒了的真相!   在讲解这个帖子之前,先要普及2个概念:1-RLAIF:   不是TGIF,虽然今天确实是周五   RLAIF是Google今年9月新出来的论文,论文地址:23......
  • 32Bit、基于ARM CPU的STM32F100C6T6BTR、STM32G030F6P6TR微控制器(MCU)
    1、STM32F1系列主流MCU:STM32F100C6T6BTR ICMCU32BIT32KBFLASH48LQFPSTM32F1系列主流MCU满足了工业、医疗和消费类市场的各种应用需求。该系列在集成一流的外设和低功耗、低电压运行等基础上实现了高性能,同时还以可接受的价格实现了高集成度,并具有简单的架构和简便易用的工具......
  • EN50332声压测试
    一、什么是EN50332测试?众所周知,长时间大音量的听音乐对会耳朵造成伤害,EN50332正是为了防止这一伤害,EN50332规定了便携式播放设备的声压、输出电压、音频稳定的测试。其测试的范围包括所有带耳机或有耳机插口的便携式音响设备跟单独的耳机产品都需要做EN50332测试。二、EN50332的测......
  • 无线麦克风en50322测试标准是什么?
    en50332-1:2000音响系统设备:与便携音响设备相应的耳机和头戴式耳机.声音压力水平测量方法和限制考虑.第1部分:单一包装设备的一般方法。en50332-2:2004音响系统设备:与便携音频设备相应的耳机和头戴式耳机.声压级测量方法和限制考虑.第2部分:单独提供或同时提供时头戴式耳机设置......
  • P3203 弹飞绵羊 题解
    QuestionP3203[HNOI2010]弹飞绵羊一条直线上摆着\(n\)个弹簧,每个弹簧有一个弹力系数\(k_i\),当绵羊走到第\(i\)个弹簧时,会被弹到第\(i+k_i\)个弹簧,如果\(i+k_i>n\)则会被弹飞,有两个操作1x查询\(x\)处的绵羊经过几次会被弹飞2xy把\(x\)处的弹力系数改成......
  • 使用HTTP状态码进行开发过程中的错误处理的有效指导
    Laravel是一个流行的PHP框架,它具有出色的可测试性,可以帮助开发人员在更短的时间内编写可靠的代码。但是,即使使用了这个框架,也可能会出现测试覆盖率较低的情况。测试覆盖率是指代码中已由测试案例覆盖的部分比例。测试覆盖率越高,代码质量越高。在本文中,我们将分享几种技巧,帮助您提......
  • 【五期李伟平】CCF-A(MobiCom'18 Session EdgeTech'18)A Game-Theoretic Approach to Mu
    Zafari,Faheem,etal."AGame-TheoreticApproachtoMulti-ObjectiveResourceSharingandAllocationinMobileEdgeClouds."(2018).  为了缓解移动边缘计算中资源稀缺问题,本文建议在多个边缘计算服务提供商之间共享资源,并将资源分配和共享问题建模为多目标优化......
  • SciTech-Github-解决git push时的 Error: hasDotgit: contains '.git'
    AbaelsMacBookPro:pelicanabaelhe$gitpushEnumeratingobjects:6872,done.Countingobjects:100%(6872/6872),done.Deltacompressionusingupto8threadsCompressingobjects:100%(4305/4305),done.remote:error:object93c3f3e6d30672571d972693d0842a......
  • 双向广搜->字符变换(洛谷P1032)
    题意:给起始和终止串A和B,以及不超过6个字符串变换规则,求A->B能否在10步以内变换完成。分析:暴力bfs每次有6条路可以走,时间复杂度是6^10大概6e8的时间复杂度,会TLE。于是这题是一道经典的双向bfs。直接开两个队列,两个map,暴力搜1~5步即可。双向bfs的时间复杂度是2*(6^5)=1e4......