九十一、Spark-SparkSQL(多数据源处理)

简介: 九十一、Spark-SparkSQL(多数据源处理)

读取JSON文件,以JSON,CSV,jdbc格式写出


数据展示


80.png


代码


package org.example.SQL
import org.apache.log4j.{Level, Logger}
import org.apache.spark.sql.{DataFrame, SaveMode, SparkSession}
import java.util.Properties
object sql_DataSource { //支持外部数据源
  //支持的文件数据格式:text/json/csv/parquet/orc...
  def main(args: Array[String]): Unit = {
    //不打印日志
    Logger.getLogger("org").setLevel(Level.ERROR)
    val spark: SparkSession = SparkSession.builder().appName("test2")
      .master("local[*]").getOrCreate()
    val sc = spark.sparkContext
    val df1: DataFrame = spark.read.json("data/input/json")
    df1.printSchema()
    df1.show()
    df1.coalesce(1).write.mode(SaveMode.Overwrite).json("data/output/json")
    df1.coalesce(1).write.mode(SaveMode.Overwrite).csv("data/output/csv")
    val prop = new Properties()
    prop.setProperty("user", "root")
    prop.setProperty("password", "123456")
    df1.coalesce(1).write.mode(SaveMode.Overwrite).jdbc("jdbc:mysql://localhost:3306/bigdata?characterEncoding=UTF-8", "person", prop)
    //如果没有,表自动创建
    spark.stop()
  }
}

约束


root
 |-- age: long (nullable = true)
 |-- id: long (nullable = true)
 |-- name: string (nullable = true)

数据打印


+---+---+--------+
|age| id|    name|
+---+---+--------+
| 20|  1|zhangsan|
| 29|  2|    lisi|
| 25|  3|  wangwu|
| 30|  4| zhaoliu|
| 35|  5|  tianqi|
| 40|  6|    kobe|
+---+---+--------+

结果文件输出


json


81.png


csv


82.png


jdbc


83.png



相关文章
|
3月前
|
SQL 机器学习/深度学习 分布式计算
Spark框架
【8月更文挑战第31天】Spark框架
38 2
|
3月前
|
分布式计算 资源调度 Shell
如何开始使用Spark框架?
【8月更文挑战第31天】如何开始使用Spark框架?
63 2
|
SQL 分布式计算
SparkSQL实践
SparkSQL实战:统计用户及商品数据指标,包含以下三张表
166 0
SparkSQL实践
|
SQL 缓存 分布式计算
PySpark数据分析基础:pyspark.sql.SparkSession类方法详解及操作+代码展示
PySpark数据分析基础:pyspark.sql.SparkSession类方法详解及操作+代码展示
782 0
PySpark数据分析基础:pyspark.sql.SparkSession类方法详解及操作+代码展示
|
SQL HIVE
九十四、Spark-SparkSQL(整合Hive)
九十四、Spark-SparkSQL(整合Hive)
九十四、Spark-SparkSQL(整合Hive)
|
分布式计算 Apache Spark
|
分布式计算 资源调度 DataWorks
MaxComputeSpark Spark 与 SparkSQL 对比分析及使用注意事项 | 学习笔记
快速学习 MaxComputeSpark Spark 与 SparkSQL 对比分析及使用注意事项
276 0
|
分布式计算 数据库 Spark
Spark介绍及Spark多数据源分析
开源大数据处理首选Spark,Spark引擎助力数据构架升级,大数据构架分为多种系统,如:流式处理系统、离线分析系统、算法分析系统、交互式分析系统,通过阿里多模型数据库专家沐远的讲解学习Spark并解决各种业务问题。
3021 0
|
SQL 存储 分布式计算
sparkSQL实战详解
sparkSQL实战详解 如果要想真正的掌握sparkSQL编程,首先要对sparkSQL的整体框架以及sparkSQL到底能帮助我们解决什么问题有一个整体的认识,然后就是对各个层级关系有一个清晰的认识后,才能真正的掌握它 本篇博客主要是对sparkSQL实战进行讲解和总结,而不是对sparkSQL源码的讲解,如果想看源码的请绕道。
1542 0
|
SQL 分布式计算 大数据
Spark修炼之道(进阶篇)——Spark入门到精通:第八节 Spark SQL与DataFrame(一)
本节主要内宾 Spark SQL简介 DataFrame 1. Spark SQL简介 Spark SQL是Spark的五大核心模块之一,用于在Spark平台之上处理结构化数据,利用Spark SQL可以构建大数据平台上的数据仓库,它具有如下特点: (1)能够无缝地将SQL语句集成到Spark应用程序当中 (2)统一的数据访问方式 DataFrames and
3982 0