External Data产生背景
在之前的案例中,每一个Spark Application都是以加载数据开始,经过一系列处理,然后把结果展示到控制台中。
在生产环境中我们往往需要把数据存储到外部系统中如HBase、mysql等。
同时,我们也希望能从不同的数据源(json、parquet、RDBMS)经过混合处理(json join parquet),然后将处理结果以特定的格式(json、parquet)写回到指定的系统中(HDFS、S3)上去。
因此在Spark1.2之后引入了外部数据源API。
Spark内置的导入数据格式
我们通常使用spark.read.format(format)
方式来导入数据,内置的导入格式包括:json、parquet、jdbc
,在spark2.x版本之后,支持了csv
格式。
此外我们可以自定义packages
外部的数据源。
Spark导出数据
people.write.format("parquet").save("path")