代码实现 

// rdd转化为df[kv格式]val df = sqlContext.createDataFrame(check_data_type, structType)
.select("cons_no", "org_no").distinct // 去重
.rdd
.map(row => (row.getAs[String]("cons_no"), row.getAs[String]("org_no")))
.collect()// 数据量较少
.toMap[String, String]
// 模式匹配
val value = df.get("2019") match{case Some(a) => a // 提取出数据case None => ""
}
println(value)

转载于:https://www.cnblogs.com/yszd/p/10638738.html

Spark dataframe【KV格式】模拟实现Map操作相关推荐

  1. 解决升级Spark2.0之后,DataFrame map操作报错

    当我们在使用spark1.6的时候,当我们创建SQLContext读取一个文件之后,返回DataFrame类型的变量可以直接.map操作,不会报错.但是升级之后会包一个错误,如下: 报错:No imp ...

  2. 学习笔记Spark(七)—— Spark SQL应用(2)—— Spark DataFrame基础操作

    二.Spark DataFrame基础操作 2.1.DataFrame DataFrame是一种不可变的分布式数据集,这种数据集被组织成指定的列,类似于关系数据库中的表. 数据集的每一列都带有名称和类 ...

  3. Spark SQL(二)之DataSet操作

    一.创建DataSet 使用SparkSession,应用程序可以从现有的RDD,Hive表的或Spark数据源创建DataFrame . (1)基于JSON的内容创建一个DataFrame //hd ...

  4. spark dataframe和dataSet用电影点评数据实战

    RDD 优点: 编译时类型安全  编译时就能检查出类型错误 面向对象的编程风格  直接通过类名点的方式来操作数据 缺点: 序列化和反序列化的性能开销  无论是集群间的通信, 还是IO操作都需要对对象的 ...

  5. Android与.Net交互模拟用户屏幕操作添加APN和网络4G/3G切换

    前几天接到一个需求,我们的客户需要对手机网络接入点进行可用性测试,简单点说就是需要实现Android上的APN配置的添加,APN切换网络模式4G/3G/2G切换,我要调研下写个demo. 因为是要实现 ...

  6. Spark Streaming 实战案例(二) Transformation操作

    本节主要内容 本节部分内容来自官方文档:http://spark.apache.org/docs/latest/streaming-programming-guide.html DStream Tra ...

  7. 基于Alluxio系统的Spark DataFrame高效存储管理技术

    介绍 越来越多的公司和组织开始将Alluxio和Spark一起部署从而简化数据管理,提升数据访问性能.Qunar最近将Alluxio部署在他们的生产环境中,从而将Spark streaming作业的平 ...

  8. spark笔记之RDD常用的算子操作

    Spark Rdd的所有算子操作,请见<sparkRDD函数详解.docx> 启动spark-shell 进行测试: spark-shell --master spark://node1: ...

  9. 2022建筑电工(建筑特殊工种)考试题目模拟考试平台操作

    题库来源:安全生产模拟考试一点通公众号小程序 2022年建筑电工(建筑特殊工种)考试真题是建筑电工(建筑特殊工种)模拟考试试题考前押题密卷!2022建筑电工(建筑特殊工种)考试题目模拟考试平台操作依据 ...

最新文章

  1. svn update命令小记
  2. NumPy - np.random.multivariate_normal()
  3. jconsole监控tomcat
  4. Wechart 饼图
  5. WPS论文编写问题集(参考文献制作、公式居中及编号、公式影响行间距...)_长期更新中ing...
  6. 生产制造业如何谋求数字化转型?需要哪些信息化系统做支撑?
  7. Linux架设Jsp环境
  8. Python 测试题(覆盖了大多数的基础知识和进阶)
  9. 【03】Linux笔记
  10. 销量惨淡,广告费ACOS飙升
  11. iOS KVC和KVO
  12. Bootstrap抽样和Monte Carlo思想
  13. React中input输入框中文输入的问题
  14. 刻意练习:机器学习实战 -- Task01. 决策树
  15. 2022年最细Java 17新特性,是真的猛,被征服了!
  16. 目标管理之SMART原则
  17. 向 Oracle 数据库添加 ST_Geometry 类型
  18. 数据挖掘导论 复习一(介绍+数据预处理方法+定性归纳)
  19. 我为什么要学习openCV,什么是openCV
  20. potplayer——一款爱不释手的视频播放器

热门文章

  1. 吴恩达深度学习的改善深层神经网络编程作业:优化Optimization
  2. 提取tsv数据并转化成json——致找不出怎么提取tsv文件中数据的五小时
  3. DAC0832_简易函数信号发生器_按键控制波形and步进
  4. 机器学习9、10、12/100天-SVM直观认识
  5. 《手把手教你》系列基础篇之2-python+ selenium自动化测试-打开和关闭浏览器(详细)
  6. angular使用动态组件后属性值_Angular 2-组件
  7. Javascript 中的非空判断 undefined,null, NaN的区别
  8. ShardingSphere LogicSQL 的生成探索
  9. linux系统找运行指令,Linux系统常用指令总结
  10. oracle 自定义类型使用方法,oracle pl/sql中使用自定义数据类型