spark -外部数据源

1.在Spark1.2中提供了External DataSource API,开发者可以根据接口来实现自己的外部数据源,如avro, csv, json, parquet等等。

(1)spark自带的外部数据源

 

(2)其他开发者贡献的 https://spark-packages.org/

 

以avro为例,点击homepage,跳转到github网址:https://github.com/databricks/spark-avro,github页面详细介绍了用法


 

本地shell测试


 

 

 

2.spark 外部数据源 Api 练习

package df

import org.apache.spark.sql.SparkSession

object ExternalSource {

  def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder().appName("demo").master("local").getOrCreate()

    //1.读取json
    val jsonDF = spark.read.format("json").load("file:////data/spark-2.3.0-bin-hadoop2.7/examples/src/main/resources/employees.json")
    jsonDF.printSchema()

    //2.读取parquet
    val parquetDF = spark.read.format("parquet").load("file:////data/spark-2.3.0-bin-hadoop2.7/examples/src/main/resources/users.parquet")
    parquetDF.printSchema()

    //3.读取scv
    val csvDF = spark.read.format("csv").load("file:////data/spark-2.3.0-bin-hadoop2.7/examples/src/main/resources/people.csv")
    csvDF.printSchema()
  }
}

 

 

 

猜你喜欢

转载自coderlxl201209164551.iteye.com/blog/2415886