spark业务开发-列选择

  • 项目地址:https://gitee.com/cch-bigdata/spark-process.git

输入数据

"id","name","description","weight"
"102","car battery","12V car battery","8.1"
"103","12-pack drill bits","12-pack of drill bits with sizes ranging from #40 to #3","0.8"
"104","hammer","12oz carpenter's hammer","0.75"
"105","hammer","14oz carpenter's hammer","0.875"
"106","hammer","16oz carpenter's hammer","1"
"107","rocks","box of assorted rocks","5.3"
"108","jacket","water resistent black wind breaker","0.1"
"109","spare tire","24 inch spare tire","22.2"
"101","scooter","Small 2-wheel scooter","3.14"
"102","scooter1","Small 2-wheel scooter1","3.14"

输出数据

+---+------+
| id|weight|
+---+------+
|102|   8.1|
|103|   0.8|
|104|  0.75|
|105| 0.875|
|106|   1.0|
|107|   5.3|
|108|   0.1|
|109|  22.2|
|101|  3.14|
|102|  3.14|
+---+------+

程序代码

package com.cch.bigdata.spark.process.colsimport com.cch.bigdata.spark.process.AbstractTransform
import org.apache.spark.sql.DataFrame
import org.apache.spark.sql.functions.colclass ColumnChooser extends AbstractTransform{//需要要输出的列private val columns = Array[String]("id","weight")override def process(): Unit = {if(columns.isEmpty){throw new RuntimeException("列未选择!")}val df: DataFrame = loadCsv("src/main/resources/csv/products.csv",spark)//获取指定列df.select(columns.map(name => col(name)): _*).show()}override def getAppName(): String = "列选择"
}object ColumnChooser{def main(args: Array[String]): Unit = {new ColumnChooser().process()}
}

参数解释

  • columns:需要展示的列,字符串数组

spark业务开发-列选择相关推荐

  1. spark业务开发-添加索引列

    spark业务开发-添加索引列 项目地址:https://gitee.com/cch-bigdata/spark-process.git 输入数据 name,profession,enroll,sco ...

  2. spark业务开发-空值处理

    spark业务开发-空值处理 项目地址:https://gitee.com/cch-bigdata/spark-process.git 输入数据集 "id","name& ...

  3. spark业务开发-聚合(agg)

    spark业务开发-聚合(agg) 项目地址:https://gitee.com/cch-bigdata/spark-process.git 输入数据 name,profession,enroll,s ...

  4. spark业务开发-union合并(union)

    spark业务开发-union合并(union) 项目地址:https://gitee.com/cch-bigdata/spark-process.git 输入数据集1 id,name,profess ...

  5. IT:后端进阶技术路线图(初级→中级→高级)、后端开发工程师(技术方向分类之后台业务开发/中间件/内核/分布式架构)基础知识简介、技术路线/技术趋势指南(如何选择自己的技术方向)之详细攻略

    IT:后端进阶技术路线图(初级→中级→高级).后端开发工程师(技术方向分类之后台业务开发/中间件/内核/分布式架构)基础知识简介.技术路线/技术趋势指南(如何选择自己的技术方向)之详细攻略 目录 后端 ...

  6. 业务开发工程师,你真的愿意做一辈子 CRUD boy 吗?

    你是不是觉得数据结构和算法,跟操作系统.计算机网络一样,是脱离实际工作的知识?可能除了面试,这辈子也用不着? 尽管计算机相关专业的同学在大学都学过这门课程,甚至很多培训机构也会培训这方面的知识,但是据 ...

  7. Apache Spark学习:利用Eclipse构建Spark集成开发环境

    介绍了如何使用Maven编译生成可直接运行在Hadoop 2.2.0上的Spark jar包,而本文则在此基础上, 介绍如何利用Eclipse构建Spark集成开发环境 . 不建议大家使用eclips ...

  8. 为什么做Web开发要选择PHP

    大部分互联网公司做WEb开发都选择PHP,PHP的优势在哪?你应该知道的 以前偶尔被人问到,为什么你(和大部分互联网公司)做Web开发要选择PHP, PHP有什么好处.简单的回答便是"PHP ...

  9. 《Spark核心技术与高级应用》——3.2节构建Spark的开发环境

    本节书摘来自华章社区<Spark核心技术与高级应用>一书中的第3章,第3.2节构建Spark的开发环境,作者于俊 向海 代其锋 马海平,更多章节内容可以访问云栖社区"华章社区&q ...

最新文章

  1. 强大的矢量图形库:Raphael JS 中文帮助文档及教程
  2. 【错误记录】Mac 中 IntelliJ IDEA 运行 Python 程序报错 ( No module named ‘numpy‘ )
  3. ubuntu下eclipse新建项目没有java project的解决办法
  4. 是否应该立即将网站升级到Drupal 8?
  5. 问题:AmqpConnectException: java.net.ConnectException: Connection refused: connect
  6. iOS平台上的MVVM模式(译文)
  7. C语言bmp文件隐藏,怪事!!关于读bmp文件!
  8. javaEE异常摘要——更换工作区相同tomcat当部署在同一个项目疑难解答
  9. MySQL 获得当前日期时间 函数
  10. [Java] 蓝桥杯ADV-178 算法提高 简单加法
  11. python数据分类聚类案例_Python 数据分类与聚类分析(5)
  12. vs2008无法打开设计--vs2008假死现象
  13. kettle 教程(一):简介及入门
  14. 微信小程序如何快速增长独立访客数(UV)
  15. python forward函数_PyTorch之前向传播函数自动调用forward
  16. 有了域名,怎么搭建自己的网站?
  17. c语言输入学号查找成绩,C语言程序设计按学号查询成绩
  18. ChatGPT深度体验记录,期待GPT-4(测试各领域知识,正常聊天,写代码,写诗歌,模拟人格,机器翻译,语法改错等)
  19. Java获取URL对应的资源
  20. 《JDK学习》使用JDK的keytool生成p12证书

热门文章

  1. i5 11260h和i5 10200h差距 i510200h和 酷睿i511260h对比
  2. 三国杀将灵计算器vue编写
  3. 巨杉Tech | SequoiaDB数据域及存储规划
  4. 陕西科技大学计算机科学好不好,陕西科技大学电气与信息工程学院
  5. 如何简单快速卸载百度安全卫士-for win7
  6. 卖爆农产品商城微店手机模板
  7. Qcom android L ro.sf.lcd_density属性修改
  8. Spartan Edge Accelerator Board 入门教程
  9. Excel实现阅后即焚地信息保护方法_艾孜尔江撰稿
  10. 【Python】图解NumPy:常用函数的内在机制