spark3.3.x处理excel数据

这篇具有很好参考价值的文章主要介绍了spark3.3.x处理excel数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境:
spark3.3.x
scala2.12.x
引用:
spark-shell --jars spark-excel_2.12-3.3.1_0.18.5.jar
或项目里配置pom.xml

<!-- https://mvnrepository.com/artifact/com.crealytics/spark-excel -->
<dependency>
    <groupId>com.crealytics</groupId>
    <artifactId>spark-excel_2.12</artifactId>
    <version>3.3.1_0.18.5</version>
</dependency>

代码:
1、直接使用excel文件第一行作为schema

val df = spark.read
     .format("com.crealytics.spark.excel")
//     .format("excel") // 该版本的包直接写"excel"也可以
     .option("header", "true") // 该版本的包将useHeader改成了header
     .load(filePath)

2、使用自定义schema(该方法如果excel文件第一行不是所需数据,需手动限制读取的数据范围)

// 自定义schema
val schema = StructType(List(
    StructField("uid", StringType, nullable = true),
    StructField("name", StringType, nullable = true)
))
val df = spark.read
     .format("com.crealytics.spark.excel")
//     .format("excel") // 该版本的包直接写"excel"也可以
     .option("header", "false") // 使用自定义schema,所以设置为false
     .option("dataAddress", "'Sheet1'!A2:B2") // 限制读取的数据范围(也可以不加:B2就是取从A列往后的所有列)
     .schema(schema)
     .load(filePath)

ps:刚开始用的3.3.3_0.20.1这个版本的不可用,具体报啥错忘了,降到3.3.1_0.18.5该版本正常文章来源地址https://www.toymoban.com/news/detail-715696.html

到了这里,关于spark3.3.x处理excel数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hudi0.14.0集成Spark3.2.3(Spark Shell方式)

    1.1 启动Spark Shell

    2024年01月24日
    浏览(38)
  • 记录《现有docker中安装spark3.4.1》

    基础docker环境中存储hadoop3--方便后续查看 参考:   实践:            

    2024年02月11日
    浏览(38)
  • 【笔记】Spark3 AQE(Adaptive Query Execution)

    提效 7 倍,Apache Spark 自适应查询优化在网易的深度实践及改进 Performance Tuning 配置Spark SQL开启Adaptive Execution特性 How To Use Spark Adaptive Query Execution (AQE) in Kyuubi 【spark系列3】spark 3.0.1 AQE(Adaptive Query Exection)分析 玩转Spark Sql优化之3.0特性AQE(六) As of Spark 3.0, there are three major feat

    2024年02月12日
    浏览(29)
  • Java语言在Spark3.2.4集群中使用Spark MLlib库完成XGboost算法

    XGBoost是一种基于决策树的集成学习算法,它在处理结构化数据方面表现优异。相比其他算法,XGBoost能够处理大量特征和样本,并且支持通过正则化控制模型的复杂度。XGBoost也可以自动进行特征选择并对缺失值进行处理。 1、导入相关库 2、加载数据 3、准备特征向量 4、划分

    2023年04月12日
    浏览(35)
  • hive修改spark版本重新编译,hive3.1.3 on spark3.3.0

    我的是hive3.1.3 spark3.3.0(请先将自己的 hive on mr 搭建完场,有简单了解在搞这个) 1.下载hive源码 2. maven编译:mvn clean -DskipTests package -Pdist (idea 编译不行,能行的评论告诉我) 右键 - Git Bash idea打开项目,右键pom 添加成maven项目 修改pom中自己所需依赖的版本

    2023年04月21日
    浏览(52)
  • Java语言在Spark3.2.4集群中使用Spark MLlib库完成朴素贝叶斯分类器

    贝叶斯定理是关于随机事件A和B的条件概率,生活中,我们可能很容易知道P(A|B),但是我需要求解P(B|A),学习了贝叶斯定理,就可以解决这类问题,计算公式如下:     P(A)是A的先验概率 P(B)是B的先验概率 P(A|B)是A的后验概率(已经知道B发生过了) P(B|A)是

    2023年04月12日
    浏览(36)
  • Hudi0.14.0 集成 Spark3.2.3(IDEA编码方式)

    本次在IDEA下使用Scala语言进行开发,具体环境搭建查看文章 IDEA 下 Scala Maven 开发环境搭建。 1.1 添加maven依赖 创建Maven工程,pom文件:

    2024年01月24日
    浏览(44)
  • 使用Apache Spark处理Excel文件的简易指南

    在日常的工作中,表格内的工具是非常方便的x,但是当表格变得非常多的时候,就需要一些特定的处理。Excel作为功能强大的数据处理软件,广泛应用于各行各业,从企业管理到数据分析,可谓无处不在。然而,面对大型且复杂的数据,Excel的处理能力可能力不从心。 对此,

    2024年01月19日
    浏览(47)
  • 服务器编译spark3.3.1源码支持CDH6.3.2

    1、一定要注意编译环境的配置 2、下载连接 3、安装直接解压,到/opt/softwear/文件夹 4、配置环境变量 5、更改相关配置文件 一定注意下面的修改配置 6、修改mvn地址 6.1、如果编译报错栈已经满了修改如下 7、更改 scala版本 8、执行脚本编译 9、打包完在/opt/softwear/spark-3.3.1 有一

    2023年04月15日
    浏览(55)
  • 【五一创作】使用Scala二次开发Spark3.3.0实现对MySQL的upsert操作

    使用Scala二次开发Spark实现对MySQL的upsert操作 在我们的数仓升级项目中,遇到了这样的场景:古人开发的任务是使用DataStage运算后,按照主键【或者多个字段拼接的唯一键】来做 insert then update ,顾名思义,也就是无则插入,有则后一条数据会覆盖前一条。这其实类似于MySQL的

    2024年02月03日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包