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

scala 复制代码
<!-- 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

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

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

scala 复制代码
// 自定义schema
val schema = StructType(List(
    StructField("uid", StringType, nullable = true),
    StructField("name", StringType, nullable = true)
))
scala 复制代码
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该版本正常

相关推荐
AI英德西牛仔5 小时前
文心 Excel 与“AI 导出鸭”:PC 端批量导出方案的技术解构
人工智能·excel·deepseek·ai导出鸭
Am-Chestnuts8 小时前
AI 对话里的表格怎么导出成 Excel 还能筛选排序?用DS随心转把数据整理成可分析表格
大数据·人工智能·excel
Metaphor6929 小时前
使用 Python 读取和删除 Excel 文件属性
python·excel
weixin_4692738112 小时前
银行流水 PDF 转 Excel 或者 CSV 完整指南
人工智能·pdf·excel
百事牛科技13 小时前
Excel部分单元格禁止修改:锁住该锁的,放开该放的
windows·excel
asdzx6715 小时前
使用 Python 为 Excel 添加各类数据验证规则
开发语言·python·excel
伟大的大威15 小时前
三台 DGX Spark 部署 DeepSeek V4 Flash NVFP4:从零到可用教程
大数据·分布式·spark
starzy199015 小时前
SparkStreaming 之 updateStateByKey 算子详解及代码实现
大数据·spark
足球中国17 小时前
.net DataExcel控件 2.11.1.53版发布
c#·.net·excel
roman_日积跬步-终至千里17 小时前
Spark 资源配置与 Shuffle 故障排查生产手册
大数据·分布式·spark