码迷,mamicode.com
首页 > 数据库 > 详细

如何使用 Spark SQL

时间:2016-08-01 12:32:57      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:

  val sqlContext = new org.apache.spark.sql.SQLContext(sc)
  // 在这里引入 sqlContext 下所有的方法就可以直接用 sql 方法进行查询
  import sqlContext._
  case class Person(name: String, age: Int)

  // 下面的 people 是含有 case 类型数据的 RDD,会默认由 Scala 的 implicit 机制将 RDD 转换为
  SchemaRDD, SchemaRDD 是 SparkSQL 中的核心 RDD
  val people = sc.textFile("examples/src/main/resources/people.txt").map(_.
  split(",")).map(p => Person(p(0), p(1).trim.toInt))
  // 在内存的元数据中注册表信息,这样一个 Spark SQL 表就创建完成了
  people.registerAsTable("people")
  // sql 语句就会触发上面分析的 Spark SQL 的执行过程,读者可以参考上面的图示
  val teenagers = sql("SELECT name FROM people WHERE age >= 13 AND age <= 19")
  // 最后生成 teenagers 也是一个 RDD
  teenagers.map(t =>"Name: " + t(0)).collect().foreach(println)

  通过之前的介绍,读者对支撑结构化数据分析任务的 Spark SQL 的原理与使用有了一定的了解。在生产环境中,有一类数据分析任务对响应延迟要求高,需要实时处理流数据,在 BDAS 中, Spark Streaming 用于支撑大规模流式处理分析任务。

如何使用 Spark SQL

标签:

原文地址:http://www.cnblogs.com/zlslch/p/5725106.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!