美文网首页
1、Spark如家数据实战-读取数据

1、Spark如家数据实战-读取数据

作者: 小刀羊 | 来源:发表于2020-07-05 23:42 被阅读0次

准备测试数据,可以在网上寻找很容易找到,此处不提供下载。


在这里插入图片描述
在这里插入图片描述

使用Spark Sql读取csv数据,Spark.read不仅提供了读取csv,还提供的json、jdbc、file等各种来源的结构化数据。Spark Sql对各种结构化数据提供各种简单的Api,省去了我们自己通过Api读取数据的过程,

package com.mocker.rujia
import org.apache.spark.sql.{SparkSession}
object RuJiaApplication {
  def main(args:Array[String]) : Unit = {
    val spark = SparkSession
      .builder()
      .appName("rujia")
      .getOrCreate();
    val db = spark.read.csv("/usr/local/docker-share/rj.csv");
    db.show();
  }

Db.show打印查看一下数据。数据是读取出来了,但是有个问题,识别的列名为_c0,_c1,这是spark自动生成的列名,其实我们每一列都是有列名的,只是被spark当做数据给读取了,并不知道第一行数据是列名。


把代码 val db = spark.read.csv("/usr/local/docker-share/rj.csv");换成val db = spark.read.option("header","true").csv("/usr/local/docker-share/rj.csv");告诉spark我们这个文件是有头信息的,也就是列名。
现在已经成功匹配出列名。


在这里插入图片描述

我们还可以通过db.printSchema();获取具体的表结构信息。

在这里插入图片描述

相关文章

网友评论

      本文标题:1、Spark如家数据实战-读取数据

      本文链接:https://www.haomeiwen.com/subject/byqiqktx.html