Schema RDD(DataFrame)----Spark SQL操作

SchemaRDD是存放 Row 对象的 RDD,每个 Row 对象代表一行记录。 SchemaRDD 还包含记录的结构信息(即数据字段)。 SchemaRDD 看起来和普通的 RDD 很像,但是在内部, SchemaRDD 可以利用结构信息更加高效地存储数据。 此外, SchemaRDD 还支持 RDD 上所没有的一些新操作,比如运行 SQL 查询。 SchemaRDD 可以从外部数据源创建,也可以从查询结果或普通 RDD 中创建。

若要把 Spark SQL 连接到一个部署好的 Hive 上,你必须把 hive-site.xml 复制到Spark 的配置文件目录中( $SPARK_HOME/conf)。即使没有部署好 Hive, Spark SQL 也可以运行。如果你没有部署好 Hive, Spark SQL 会在当前的工作目录中创建出自己的Hive 元数据仓库, 叫作 metastore_db。此外,如果你尝试使用 HiveQL 中的 CREATE TABLE(并非 CREATE EXTERNAL TABLE)语句来创建表,这些表会被放在你默认的文件系统中的/user/hive/warehouse 目录中( 如果你的 classpath 中有配好的 hdfs-site.xml,默认的文件系统就是 HDFS,否则就是本地文件系统)。

1. 使用Spark SQL

初始化

# 导入Spark SQL
from pyspark.sql import HiveContext, Row
# 当不能引入hive依赖时
from pyspark.sql import SQLContext, Row
hiveCtx = HiveContext(sc)

基本查询

<
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值