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该版本正常

相关推荐
彦4 小时前
Excel实用技巧笔记
excel
Logic1017 小时前
Excel流程控制if函数,IF+数组轻松解决复杂判断问题
excel·流程控制·条件判断·if·excel函数·if函数·数组公式
棣廷9 小时前
初识Spark Core
大数据·分布式·spark
跨境猫小妹20 小时前
跨境电商订单导出CSV用Excel打开后订单号变成科学计数法如何定位并修复
excel·跨境电商·营销策略
weixin_440401691 天前
大数据技术-数据分析(EXcel+Python数据处理+SQL)
大数据·python·数据分析·excel
jaysee-sjc2 天前
【苍穹外卖】Day12:工作台数据看板与 Excel 报表导出
java·开发语言·数据库·spring boot·spring·微信·excel
ms365copilot2 天前
Copilot 代理开始进入Word、Excel、PowerPoint,不再只是“问一句答一句”
word·excel·copilot
wuyk5552 天前
PyQt6-第14讲-数据库与Excel双向同步
数据库·python·ui·excel·pyqt
qq_364682152 天前
AI如何将录音内容自动整理成Excel清单
人工智能·excel
Logic1012 天前
Excel信息+照片文件夹,自动合成word格式化文档
word·excel·办公自动化·邮件合并·office技巧·自动插入图片·插入域