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

准备测试数据,可以在网上寻找很容易找到,此处不提供下载。
在这里插入图片描述
在这里插入图片描述
使用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();获取具体的表结构信息。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值