Spark SQL数据处理(一)

Spark SQL数据处理(一)

数据介绍

通过Spark Dataframe API和Sql两种语句处理豆瓣电影数据集,该数据包含五个表格:movies.csv、person.csv、users.csv、comments.csv、ratings.csv。对每个表格进行单独简单的清理,最后写入mysql数据库中
总的数据处理步骤有:删除多余的列,更改列的数据类型,存入mysql数据库

API语法

前期设置

    val sparkConf = new SparkConf().set("spark.testing.memory", "2147480000").set("spark.sql.shuffle.partitions","200")
    val spark: SparkSession = SparkSession.builder()
      .config(sparkConf)
      .appName("Spark ETL1.0")
      .master("local").getOrCreate()

    // 数据库参数
    val url = "jdbc:mysql://localhost:3306/douban"
    val prop = new java.util.Properties
    prop.setProperty("user", "root")
    prop.setProperty("password", "123456")

写一个读取csv文件的函数

  // 读取csv文件
  def readcsv(file_path:String,file_name:String,encoding:String="utf-8"): DataFrame = {
   
    val dataFrame: DataFrame = spark.read
      .format("csv")
      .option("header", "true")
      .option("encoding", encoding)
      .load(file_path)
    dataFrame
  }

处理movies元数据
movies有两个特殊的列:ACRTOR _IDS 和 DIRECTOR_IDS。元数据内容形式是这种: |王博:123456|张杰:452759|周杰伦:|

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值