spark进行数据清洗时,如何读取xlsx表格类型文件

首先可以确定的是spark有专门对应excel表格读取的工具,在用spark-sql对xlsx类型文件进行读取的时候只需要再pom.xml文件里添加依赖就可以了

添加依赖如下

<!--        读取excel xlsx-->
    <dependency>
      <groupId>com.crealytics</groupId>
      <artifactId>spark-excel_2.11</artifactId>
      <version>0.12.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans -->
    <dependency>
      <groupId>org.codehaus.janino</groupId>
      <artifactId>janino</artifactId>
      <version>3.0.8</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.10.0</version>
    </dependency>
    <!-- 添加对应的 jackson-core -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.10.0</version>
    </dependency>

添加过之后便可以通过spark-SQL来对xlsx类型文件进行读取了 例如代码如下:

import org.apache.spark.sql._

object io_xlsx {
  def main(args: Array[String]): Unit = {
    val df = SparkSession.builder()
      .master("local")
      .getOrCreate()
      .read
      .format("com.crealytics.spark.excel")
      .option("useHeader", "true")
      .load("datas/china_data.xlsx")
    df.rdd.saveAsTextFile("output")
  }
}

运行之后再相应的目录下就有了对应的结果了

你可能感兴趣的:(大数据,spark,excel,apache,大数据)