Spark External Data Source API
Spark 外部数据源 API操作
产生背景
- Every Spark application starts with loading data and ends with saving data.
每个Spark应用程序都开始于加载数据,结束于保存数据。
对用户来说:
方便快速从不同的数据源(json、parquet、rdbms),经过混合处理(json join parquet),
再将处理结果以特定的格式(json、parquet)写回到指定的系统(HDFS、S3)上
- Loading and saving Data is not easy
加载数据和保存数据不是容易的
- Parse raw data:text/json/parquet
解析数据源也不是容易的
- Convert data format transformation
转换数据格式转换
- Datasets stored in various Formats/Systems
概述
- An extension way to integrate a various of extenal data sources into Spark SQL 将各种扩展数据源集成到Spark SQL中的一种扩展方法
- Can read and write DtaFrames using a variety of formats and storage systems 可以使用多种格式和存储系统读取和写入dtaframe
- Data Sources API can automatically prune columns and push filters to the source:Parquet/JDBC 数据源API可以自动删除列,并将过滤器下压到数据源:parquet/jdbc
- New API introduced in1.2 在Spark1.2版本才有的
目标
- Developer(开发者):build libraries for various data sources 为各种数据源构建库
- User(使用者):easy loading/saving DataFrames
读:spark.read.format(format").load(path)format
build-in(内置): json parquet jdbc csv(2.x以后才内置)
packages: 外部的 并不是spark内置 https://spark-packages.org/
写:people.write.format("parquet").save("path")