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技术14 小时前
阿里云 EMR Serverless Spark TPC-DS 100T 榜首背后的内核技术
spark
funnycoffee12315 小时前
EXCEL VBA Color 将选中区域 的指定字符,设置字体颜色(比如红)
excel·excel vba·vba字体颜色
m5655bj15 小时前
通过 Python 删除 Excel 中的空白行列
python·ui·excel
2501_9449347315 小时前
大专信息统计与分析专业,怎么提升Excel高级函数的使用能力?
大数据·excel
优选资源分享16 小时前
ASAP Utilities V9.2:Excel 办公效率插件 中文版
excel
技小宝16 小时前
如何在WPS/Excel中批量翻译长文本?
经验分享·职场和发展·excel·wps
AI_56781 天前
Excel数据透视表提速:Power Query预处理百万数据
数据库·excel
颜挺锐1 天前
EXCEL中A列连接B列中间加| 怎么写公式
excel
KANGBboy2 天前
spark参数优化
大数据·分布式·spark
J_liaty2 天前
基于POI实现Excel文件导入导出
excel·poi