2020.12.08号作业题

1.启动redis

redis-server /usr/local/redis/redis.conf

2.写代码

问题1.计算出总的成交量总额(结果保存到redis中)
问题2.计算每个商品分类的成交量(结果保存到redis中)
问题3.计算每个省份的成交总额(结果保存到redis)

object Work {def main(args: Array[String]): Unit = {Logger.getLogger("org").setLevel(Level.WARN)//1.连接redisval pool: JedisPool = new JedisPool(new GenericObjectPoolConfig, "qianfeng01", 6379)val jedis: Jedis = pool.getResourcejedis.auth("123456")//2.拿到数据val spark: SparkSession = SparkSession.builder().appName("work").master("local").getOrCreate()import spark.implicits._val df: DataFrame = spark.read.format("csv").load("data/producer.csv")val df1: DataFrame = df.toDF("id", "ip", "producer", "type", "price","province")df1.printSchema()df1.createTempView("t1")//问题1.计算出总的成交量总额(结果保存到redis中)val sql="""|select sum(cast(price as int)) as sum|from t1|""".stripMargin//spark.sql(sql).show()val frame: DataFrame = spark.sql(sql)val rows: Array[Row] = frame.collect()for(a<-rows){//保存到redisjedis.set("总的成交量总额",a.get(0).toString)}//问题2.计算每个商品分类的成交量(结果保存到redis中)val sql1="""|select producer,sum(cast(price as int)) as sum|from t1|group by producer|""".stripMarginval frame1: DataFrame = spark.sql(sql1)frame1.show()val rows1: Array[Row] = frame1.collect()for(b<-rows1){//保存到redisjedis.set(b.get(0).toString,b.get(1).toString)}//问题3.计算每个省份的成交总额(结果保存到redis)val sql2="""|select province,sum(cast(price as int)) as sum|from t1|group by province|""".stripMarginval frame2: DataFrame = spark.sql(sql2)frame2.show()val rows2: Array[Row] = frame2.collect()for(row<-rows2){//保存到redisjedis.set(row.get(0).toString,row.get(1).toString)}}}

3.参考数据

A0001,202.106.196.115,手机,iphone8,8000,海南省
A0002,202.106.196.116,服装,Tshirt,450,湖南省
A0003,202.106.196.117,药品,阿莫西林,40,广东省
A0004,202.106.196.118,药品,板蓝根,23,湖北省
A0005,202.106.196.119,手机,iphone9,8000,海南省
A0006,202.106.196.120,服装,Tshirt,320,海南省
A0007,202.106.196.121,药品,阿莫西林,40,湖北省
A0008,202.106.196.122,药品,板蓝根,23,湖北省
A0009,202.106.196.123,手机,iphone10,8000,湖北省
A0010,202.106.196.124,服装,Tshirt,450,湖北省
A0011,202.106.196.125,药品,阿莫西林,40,湖北省
A0012,202.106.196.126,药品,板蓝根,23,广东省
A0013,202.106.196.127,手机,iphone11,8000,湖南省
A0014,202.106.196.128,服装,Tshirt,450,湖南省
A0015,202.106.196.129,药品,阿莫西林,40,湖南省
A0016,202.106.196.130,药品,板蓝根,23,湖南省
A0017,202.106.196.131,手机,iphone12,9999,广东省
A0018,202.106.196.132,服装,Tshirt,340,湖南省

4.pom坐标

   <dependencies><dependency><groupId>org.apache.spark</groupId><artifactId>spark-streaming_2.11</artifactId><version>2.2.3</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-streaming-kafka-0-10_2.11</artifactId><version>2.2.3</version></dependency><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.0.0</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.11</artifactId><version>2.2.3</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.11</artifactId><version>2.2.3</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-hive_2.11</artifactId><version>2.2.3</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.28</version></dependency></dependencies>

SparkSql-redis:将查询到的结果保存到redis中相关推荐

  1. Redis使用场景一,查询出的数据保存到Redis中,下次查询的时候直接从Redis中拿到数据。不用和数据库进行交互。...

    maven使用: <!--redis jar包--><dependency><groupId>redis.clients</groupId><ar ...

  2. 把数据保存到cook_将用户信息保存到Cookie中

    /** * 把用户保存到Cookie * * @param request * @param response * @param member */ private void rememberPwdA ...

  3. Arduino ESP32将数据保存到NVS中

    Arduino ESP32将数据保存到NVS中 该功能类似AVR单片机里面的EEPROM存储区域. 关于ESP32分区表参考<分区表> Preferences中数据以键值对(key - v ...

  4. Python 多线程、利用request使用代理、利用递归深度抓取电影网页的内容并将电影的介绍和下载链接保存到mysql中

    本文仅为学习python过程的一个笔记,其中还有一些bug! 还请各位大佬赐教 有些专业的说法还不是很熟悉,欢迎各位大佬帮忙指出 本人时一个新晋奶爸,而立之年突然想转业,想学习python 先介绍一个 ...

  5. R语言将多张可视化结果图像保存到PDF中实战:多图保存到同一PDF页、将多个绘图保存到PDF格式的不同页面

    R语言将多张可视化结果图像保存到PDF中实战:多图保存到同一PDF页.将多个绘图保存到PDF格式的不同页面 目录 R语言将多张可视化结果图像保存到PDF中实战:多图保存到同一PDF页.将多个绘图保存到 ...

  6. STM32如何从串口接收数据,取出数据中的密码段再保存到flash中。

    STM32如何从串口接收数据,取出数据中的密码段再保存到flash中 STM32如何从串口接收数据,取出数据中的密码段再保存到flash中u8 Usart2_buf[256]; unsigned in ...

  7. python提取txt数据到excel_python 读取txt中每行数据,并且保存到excel中的实例

    使用xlwt读取txt文件内容,并且写入到excel中,代码如下,已经加了注释. 代码简单,具体代码如下: # coding=utf-8 ''' main function:主要实现把txt中的每行数 ...

  8. oracle Blob保存方式,关于文件保存到Oracle中BLOB字段的方法及例子

    关于文件保存到Oracle中BLOB字段的方法及例子 ------------------------------------------- public class FileOpClass { pu ...

  9. 将数字n转换为字符串并保存到s中

    将数字n转换为字符串并保存到s中 参考 C程序设计语言 #include <stdio.h> #include <string.h> //reverse函数: 倒置字符串s中各 ...

最新文章

  1. 关于 ulimit -SHn 65535
  2. RabbitMQ学习二
  3. 全国信息联赛c语言,信息学竞赛之编程规则
  4. wget ip_全球IP厂商TOP 10排名:后来者虎视眈眈
  5. 【算法】剑指 Offer 24. 反转链表
  6. Oracle 与 MySQL 的区别
  7. [Java] 蓝桥杯BASIC-11 基础练习 十六进制转十进制
  8. c# ioc 单例模式_C# IOC 控制反转
  9. 113. 路径总和 II
  10. StackOverFlow处女问
  11. 机器学习数学基础二:泰勒公式与拉格朗日
  12. 第二章作业习题答案续
  13. junit5_JUnit 5测试中的临时目录
  14. broker可以禁用吗 time_【pximouse可以禁用吗】pximouse是什么程序_pximouse是什么
  15. html+css实现京东、英雄联盟静态页面
  16. 零基础入门Jetson Nano——软件篇
  17. PHP套件的实验结果分析,PHP环境搭建套件评比测 | Wopus
  18. BeanUtils.copyProperties 无法转换数据类型不同的数据
  19. Anaconda 安装与 使用
  20. Oracle DataGuard备机出现ORA-00600 [2619]错误的处理思路

热门文章

  1. A Swift Tour, 苹果新推出的开发语言
  2. 第二证券|扶持政策频发,教育板块再度爆发,全通教育“20cm”涨停
  3. Flutter2 的 Sound null safety ?!以及发布pub上面的null safety标签实现
  4. 这行代码好怪,再看一眼!聊聊在 Gitea 玩 Code Review
  5. NLP领域表达退化各向异性理解及对应策略总结
  6. android app报告,知乎APP用户体验报告
  7. 电脑录屏软件帧率设置详解
  8. Android Studio首次连接不上网易mumu模拟器解决办法
  9. ios 判断iPhone、iPad硬件型号
  10. 超美二次元响应式引导页源码