0.写在前面

今天,我打算新开一个专栏,主要用于来总结分享Spark算子,后续内容请关注本专栏Spark算子合集
今天分享的第一篇文章就是利用Spark读取Excel数据。由于最近在做算法标签系统,由于数据打标数据采用Excel进行存储,因此我通过Spark读取Excel数据进行数据存储

1.pom.xml依赖

maven仓库中Spark-Excel依赖的地址为:https://mvnrepository.com/artifact/com.crealytics/spark-excel,于此同时还是需要导入Spark依赖的core和SQL的依赖。
下面是我使用的依赖

 <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core --><dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.12</artifactId><version>3.1.2</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql --><dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.12</artifactId><version>3.1.2</version></dependency><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!-- https://mvnrepository.com/artifact/com.crealytics/spark-excel --><dependency><groupId>com.crealytics</groupId><artifactId>spark-excel_2.12</artifactId><version>0.13.7</version></dependency>

3.创建运行环境

val conf = new SparkConf().setAppName("itoe_labelSystem").setMaster("local[*]")
val spark=SparkSession.builder().config(conf).getOrCreate()

4.定义表结构

//定义表结构val schema = StructType(List(StructField("id",StringType),StructField("equipID",StringType),StructField("faultID",IntType),StructField("reason",StringType),StructField("TimeStamp",DateType)))

关于数据类型在org.apache.spark.sql.types包下定义,可以进入包中选择适合自己的数据类型

5.DataFrame读取Excel

 spark.read.format("com.crealytics.spark.excel").option("dataAddress", "'sheet1'!A5:E8")//sheet1为工作簿名称,A5为左上角单元格地址,E8为左下角单元格地址,.option("header", "false")//是否使用头部.schema(schema)//加载表结构.load(path)//path 为Excel读取路径

Spark-Excel算子相关推荐

  1. Spark学习之Spark RDD算子

    个人主页zicesun.com 这里,从源码的角度总结一下Spark RDD算子的用法. 单值型Transformation算子 map /*** Return a new RDD by applyi ...

  2. Spark action算子案例

    在上篇文章中,我们对Spark中几种常用的transformation算子通过Java和Scala两种代码分别进行了案例演示,Spark transformation算子案例  而在本文中,我们将继续 ...

  3. spark算子大全glom_(七)Spark Streaming 算子梳理 — repartition算子

    目录 天小天:(一)Spark Streaming 算子梳理 - 简单介绍streaming运行逻辑 天小天:(二)Spark Streaming 算子梳理 - flatMap和mapPartitio ...

  4. Spark RDD算子(八)mapPartitions, mapPartitionsWithIndex

    Spark RDD算子(八) mapPartitions scala版本 java版本 mapPartitionsWithIndex scala版本 java版本 mapPartitions mapP ...

  5. Spark部分算子及使用

    Spark部分算子及使用 案例一:flatmap算子 def main(args: Array[String]): Unit = {val conf = new SparkConf().setAppN ...

  6. Spark _30_SparkStreaming算子操作Driver HA

    SparkStreaming算子操作 foreachRDD output operation算子,必须对抽取出来的RDD执行action类算子,代码才能执行. import org.apache.sp ...

  7. Spark transformation算子案例

    Spark支持两种RDD操作:transformation和action  在本文中,将对几个常用的transformation算子进行案例演示,采用Java和Scala两种语言对代码进行编写  其中 ...

  8. Spark RDD算子介绍

    Spark学习笔记总结 01. Spark基础 1. 介绍 Spark可以用于批处理.交互式查询(Spark SQL).实时流处理(Spark Streaming).机器学习(Spark MLlib) ...

  9. Spark常用算子讲解一

    map map是对RDD中的每个元素都执行一个指定的函数来产生一个新的RDD,RDD之间的元素是一对一关系. >>> x = sc.parallelize([1,2,3,4]) &g ...

  10. spark RDD算子大全

    目录 map()&&flatMap() map()&&mapPartitions() mapPartitionsWithIndex() filter() take()& ...

最新文章

  1. Google code 100个开源项目
  2. 【AWSL】之Linux系统安全及应用(su、PAM、sudo、GRUB、JR、NMAP)
  3. 在linux或者windows上直观查看linux下生成的自签名证书
  4. c语言分治法求数组最大值,使用分治法求最大子数组的下标。
  5. Windows2003 安装AD失败,未能为域创建GPO,出现了扩展错误 的解决方法
  6. 使用Ant编译Hadoop eclipse插件
  7. SpringBoot + Eureka启动失败
  8. (超长)讨论关于允许物料负库存的利与弊...
  9. 路由交换技术中生成树协议
  10. 小学五年级计算机考试试题,小学信息技术考试题库中五年级试题——选择题
  11. 气动隔膜阀的工作原理
  12. java如何输入(输出)二进制,八进制,十六进制数?(新手向)
  13. C++ SLT中的容器学习与函数谓词
  14. android 蓝牙相关的类,Android中BluetoothAdapter类简介
  15. python实现视频剪辑_MoviePy常用剪辑类及Python视频剪辑自动化
  16. flash 与html,Flash 与 html 的一些实用技巧
  17. halcon之区域:多种区域(Region)生成(4)
  18. 做人的六原则 40条心计 共勉
  19. 2020读书笔记 《丘吉尔传记》
  20. ug建模减速器_UG做一级减速器设计方法,毕业设计不用愁啦!

热门文章

  1. 艾略特波段理论(转载)
  2. java 访问类变量_如何访问类的成员变量和方法
  3. 最新克米设计-APP手机版 数据本地化 完美使用【价值2380元】
  4. Nexus 7 搞机教程
  5. 说说漏洞检测的那些事儿
  6. 程序员离职四大原因,为何跳槽大数据成首选?
  7. 《两日算法系列》之第五篇:SVM
  8. 百度文库里面的文档无法复制,如果要下载需要下载券,如何免费复制文档呢?
  9. MyBatis-Plus 条件构造器之实体(Entity)查询
  10. ps与ai合作,制作金属效果