Spark处理外部数据源

时间:2023-01-03 19:11:12

产生背景:

1.数据以各种格式存储在系统中

2加载和保存数据不容易(Hive和mysql之间)

3.数据存在各种类型,不好解析

4.转换数据格式

5.格式转换

6.用户希望方便快速从不同数据源(json,parquet,rdbms),经过混合处理(json join parquet),再将处理结果以特定格式输出。

出现时间:

Spark Sql1.2出现了外部数据源API

概述:

An extension way to integrate a various of external data sources into Spark Sql

Can read and write DataFrames using a variety of formats and stroage systems

Data Sources API can automatically prune columns and push filters to the source:Parquet/JDBC

目标:

    Developer:build libraries for various data sources

    Users:easy loading/saving DataFrames

           读:spark.read.format("")

                内置数据源:json,parquet,jdbc,csv(2.x以后有)

                外部数据源:https://spark-packages.org/

                SparkSql默认处理的format就是parquent

             写:people.write.format().save("");

操作Hive表数据:

    spark.table(tablename)

    df.write.saveAsTable(tableName)

操作Mysql表数据: