下载APP 编程狮,随时随地学编程
返回 首页

Spark 编程指南

Spark SQL JSON数据集

Spark SQL JSON数据集

Spark SQL能够自动推断JSON数据集的模式,加载它为一个SchemaRDD。这种转换可以通过下面两种方法来实现

  • jsonFile :从一个包含JSON文件的目录中加载。文件中的每一行是一个JSON对象
  • jsonRDD :从存在的RDD加载数据,这些RDD的每个元素是一个包含JSON对象的字符串

注意,作为jsonFile的文件不是一个典型的JSON文件,每行必须是独立的并且包含一个有效的JSON对象。结果是,一个多行的JSON文件经常会失败

// sc is an existing SparkContext.
val sqlContext = new org.apache.spark.sql.SQLContext(sc)

// A JSON dataset is pointed to by path.
// The path can be either a single text file or a directory storing text files.
val path = "examples/src/main/resources/people.json"
// Create a SchemaRDD from the file(s) pointed to by path
val people = sqlContext.jsonFile(path)

// The inferred schema can be visualized using the printSchema() method.
people.printSchema()
// root
//  |-- age: integer (nullable = true)
//  |-- name: string (nullable = true)

// Register this SchemaRDD as a table.
people.registerTempTable("people")

// SQL statements can be run by using the sql methods provided by sqlContext.
val teenagers = sqlContext.sql("SELECT name FROM people WHERE age >= 13 AND age <= 19")

// Alternatively, a SchemaRDD can be created for a JSON dataset represented by
// an RDD[String] storing one JSON object per string.
val anotherPeopleRDD = sc.parallelize(
  """{"name":"Yin","address":{"city":"Columbus","state":"Ohio"}}""" :: Nil)
val anotherPeople = sqlContext.jsonRDD(anotherPeopleRDD)
目录
Spark 编程介绍
Spark 快速入门

Spark 编程指南

引入 Spark
初始化 Spark
Spark 共享变量

Spark 快速上手

Spark 独立应用程序
Spark Shell
Spark 运行程序

Spark RDDs

Spark 并行集合
Spark 外部数据集
Spark RDD 操作
Spark RDD持久化

Spark Streaming

Spark Streaming示例

Spark Streaming基本概念

Spark Streaming关联
初始化StreamingContext
Spark Streaming离散流
输入DStreams
DStream中的转换
DStream的输出操作
DStreams缓存或持久化
Spark Streaming Checkpointing
Spark Streaming部署应用程序
Spark Streaming监控应用程序

Spark Streaming性能调优

Spark Streaming减少批数据的执行时间
Spark Streaming设置正确的批容量
Spark Streaming内存调优
Spark Streaming容错语义

Spark SQL

Spark SQL开始
Spark SQL性能调优
Spark SQL其他接口
编写语言集成(Language-Integrated)的相关查询
Spark SQL数据类型

Spark SQL数据源

Spark SQL RDDs
Spark SQL parquet文件
Spark SQL JSON数据集
Spark SQL Hive表

GraphX编程指南

Spark GraphX开始
Spark GraphX图算法
Spark GraphX例子
Spark GraphX提交应用程序
独立运行Spark
在yarn上运行Spark
Spark GraphX属性图
Spark配置
Spark GraphX图操作符
Spark GraphX Pregel API
Spark GraphX图构造者
Spark GraphX顶点和边RDDs

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }