spark sql 创建dataframes
来源:互联网 发布:c 与java base64 编辑:程序博客网 时间:2024/05/22 12:30
Table of Contents
- 1. spark sql
- 2. SQLContext
- 2.1. sql context是spark sql的所有功能入口点
- 2.2. 通过spark context创建sql context
- 2.3. hive context功能上多于sql context,未来sql context也会增加功能
- 3. DataFrames
- 3.1. 功能
- 3.2. 创建DataFrames
- 3.3. DSL
- 3.3.1. 可以指定DataFrames的某列数据
1 spark sql
- 是spark的一个模块
- 处理结构化数据
- 提供了DataFrames作为编程的抽象层
- 同时也是一个分布式sql查询引擎
- 可以从hive中读取数据
2 SQLContext
2.1 sql context是spark sql的所有功能入口点
2.2 通过spark context创建sql context
val sc: SparkContext // An existing SparkContext.val sqlContext = new org.apache.spark.sql.SQLContext(sc)
注意,上面的val sc: …其实不需要写,因为启动spark-shell的时候有这么一个提示, 所以直接用就好。
Spark context available as sc.
2.3 hive context功能上多于sql context,未来sql context也会增加功能
不过由于我对hive不感兴趣,不会创建hive context
3 DataFrames
3.1 功能
- 分布式数据集合
- 列的方式组织
- 理解为关系数据库的表
- 可以从结构化文件,hive表,外部数据库或者RDD构造
3.2 创建DataFrames
通过SQLContext创建DataFrames,可以从外部文件,hive表或者RDD来创建。 为了测试本地文件,启动spark-shell的时候不要用–master连接spark master, 否则会提示找不到本地文件。 而如果想访问hdfs文件,启动spark-shell的时候要用–master。
scala> val sqlContext = new org.apache.spark.sql.SQLContext(sc)sqlContext: org.apache.spark.sql.SQLContext = org.apache.spark.sql.SQLContext@5d9ac1ffscala> val df = sqlContext.read.json("/home/smile/people.json")df: org.apache.spark.sql.DataFrame = [age: bigint, name: string]scala> df.printSchema()df.printSchema()root |-- age: long (nullable = true) |-- name: string (nullable = true)scala> df.show()df.show()+---+----+|age|name|+---+----+| 38|Dean|+---+----+
3.3 DSL
DataFrames提供了DSL方面对结构化数据进行操作,都是些函数,比如select, printSchema, show, groupBy, filter等。
scala> df.select("name").show()+----+|name|+----+|Dean|+----+
3.3.1 可以指定DataFrames的某列数据
比如:df("column-name") ,还可以用在select中 df.select(df("name")).show(), 结果还是一样,这里只是演示一种用法。 具体请参考官方文档
Created: 2015-11-12 四 23:21
Validate
0 0
- spark sql 创建dataframes
- spark创建DataFrames
- Spark SQL and DataFrames
- Spark SQL概述,DataFrames,创建DataFrames的案例,DataFrame常用操作(DSL风格语法),sql风格语法
- Apache Spark DataFrames入门指南:创建DataFrame
- Apache Spark DataFrames入门指南:创建DataFrame
- Spark SQL and DataFrames Version 1.6
- Spark SQL, DataFrames and Datasets Guide
- Spark SQL, DataFrames 和 Datasets 指南
- Spark SQL和DataFrames支持的数据格式
- Spark SQL RDD与DataFrames相互转换
- Spark SQL, DataFrames and Datasets Guide
- Spark SQL, DataFrames and Datasets Guide
- pyspark-Spark SQL, DataFrames and Datasets Guide
- Spark SQL, DataFrames and Datasets Guide
- Spark DataFrames
- Spark DataFrames
- 学习spark:五、Spark SQL, DataFrames and Datasets Guide
- 1
- IOS UIProgressView
- 在spring中有三中实例化bean的方式
- 面向对象程序设计上机练习五(类和对象)
- winnt.h(222) : error C2146解决办法
- spark sql 创建dataframes
- a^2 + b^2 = c^2
- Postgresql日志系统的实现(一) - Postgres2015全国用户大会--重磅嘉宾佳作分享(李海翔)
- 关于org.apache.catalina.session.StandardManager doLoad错误的解决
- json 解析 读取数据 保存在新的 数组中
- Java关键字final、static使用总结
- CodeTyphon32中自带例子源码:物理定律的模拟演示,太逼真
- 面向对象程序设计上机练习六(类和对象)
- new、delete、malloc、free关系