spark -外部数据源

阅读更多

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

 

(1)spark自带的外部数据源
spark -外部数据源_第1张图片
 

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

spark -外部数据源_第2张图片

 

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

spark -外部数据源_第3张图片
 

本地shell测试

spark -外部数据源_第4张图片
 

 

 

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()
  }
}

 

 

 

  • spark -外部数据源_第5张图片
  • 大小: 17.2 KB
  • spark -外部数据源_第6张图片
  • 大小: 133.1 KB
  • spark -外部数据源_第7张图片
  • 大小: 123.7 KB
  • spark -外部数据源_第8张图片
  • 大小: 53.8 KB
  • 查看图片附件

你可能感兴趣的:(外部数据源,avro)