您现在的位置是:主页 > news > 网站如何做360优化/上海seo优化服务公司
网站如何做360优化/上海seo优化服务公司
admin2025/6/13 20:13:35【news】
简介网站如何做360优化,上海seo优化服务公司,建立健全,软件外包公司值得去吗Spark SQL 和 DataFrames Spark SQL 是 Spark 内嵌的模块,用于结构化数据。在 Spark 程序中可以使用 SQL 查询语句或 DataFrame API。DataFrames 和 SQL 提供了通用的方式来连接多种数据源,支持 Hive、Avro、Parquet、ORC、JSON、和 JDBC,并且…
网站如何做360优化,上海seo优化服务公司,建立健全,软件外包公司值得去吗Spark SQL 和 DataFrames
Spark SQL 是 Spark 内嵌的模块,用于结构化数据。在 Spark 程序中可以使用 SQL 查询语句或 DataFrame API。DataFrames 和 SQL 提供了通用的方式来连接多种数据源,支持 Hive、Avro、Parquet、ORC、JSON、和 JDBC,并且…
Spark SQL 和 DataFrames
Spark SQL 是 Spark 内嵌的模块,用于结构化数据。在 Spark 程序中可以使用 SQL 查询语句或 DataFrame API。DataFrames 和 SQL 提供了通用的方式来连接多种数据源,支持 Hive、Avro、Parquet、ORC、JSON、和 JDBC,并且可以在多种数据源之间执行 join 操作。
spark SQL是spark的一个模块,主要用于进行结构化数据的处理。它提供的最核心的编程抽象就是DataFrame。
DataFrame:它可以根据很多源进行构建,包括:结构化的数据文件,hive中的表,外部的关系型数据库,以及RDD
创建DataFrame
数据文件students.json
{"name":"Michael"}
{"name":"Andy", "age":30}
{"name":"Justin", "age":19}
val df = sqlContext.read.json("file:///usr/local/spark/examples/src/main/resources/people.json")
// df: org.apache.spark.sql.DataFrame = [age: bigint, name: string]df.show() // 输出数据源内容
// +----+-------+
// | age| name|
// +----+-------+
// |null|Michael|
// | 30| Andy|
// | 19| Justin|
// +----+-------+
接着,我们来演示 DataFrames 处理结构化数据的一些基本操作:
df.select("name").show() // 只显示 "name" 列
// +-------+
// | name|
// +-------+
// |Michael|
// | Andy|
// | Justin|
// +-------+df.select(df("name"), df("age") + 1).show() // 将 "age" 加 1
// +-------+---------+
// | name|(age + 1)|
// +-------+---------+
// |Michael| null|
// | Andy| 31|
// | Justin| 20|
// +-------+---------+df.filter(df("age") > 21).show() # 条件语句
// +---+----+
// |age|name|
// +---+----+
// | 30|Andy|
// +---+----+df.groupBy("age").count().show() // groupBy 操作
// +----+-----+
// | age|count|
// +----+-----+
// |null| 1|
// | 19| 1|
// | 30| 1|
// +----+-----+
当然,我们也可以使用 SQL 语句来进行操作:
//导入SQLContext
scala> import org.apache.spark.sql.SQLContext
import org.apache.spark.sql.SQLContext
//声明一个SQLContext的对象,以便对数据进行操作
scala> val sql = new SQLContext(sc)
warning: there was one deprecation warning; re-run with -deprecation for details
sql: org.apache.spark.sql.SQLContext = org.apache.spark.sql.SQLContext@27acd9a7
//读取数据
scala> val students = sql.read.json("file:///home/cxx/bigdata/people.json")
students: org.apache.spark.sql.DataFrame = [age: bigint, id: bigint ... 1 more field]
//显示数据
students.registerTempTable("people") // 将 DataFrame 注册为临时表 people
val result = sqlContext.sql("SELECT name, age FROM people WHERE age >= 13 AND age <= 19") // 执行 SQL 查询
result.show() // 输出结果
// +------+---+
// | name|age|
// +------+---+
// |Justin| 19|
// +------+---+
DataFrame常用操作
scala> students.show
scala> students.printSchema
scala> students.select("name").show
scala> students.select(students("name"),students("age")+1).show
scala> students.filter(students("age")>18).show
scala> students.groupBy("age").count().show