SparkSQL(2)

1.上节课复习

SparkSQL不仅仅是SQL,他还可以处理其他不同的文件系统,并且他不一定需要hive,若想处理Hive俩种方式,一是Hive-site.xml,第二种就是代码url地址直接写成metastore的地址

2.为什么不在web界面上设计一些按钮,方面用来操作呢?

因为java界面做的数据,大都是mysql,nosql等关系型数据库,这些数据的东西较小,能很快的返回相应的数据,然而Spark不同,他大都采用分布式的数据量较大,不能实时的返回结果给你,反而会处于阻塞状态。

3.DataFrame(1.3版本之前叫SchemaRDD)

概念:A Dataset is a distributed collection of data.DataFrame是关系型数据库里面的一张表。

(1)这是一个分布式的数据集,按列进行组织的,它就等于一个关系型数据库,它等于一个Dataset[Row]里面的类型是Row。

python pandas \R:都有DataFrame框架,但是他俩是单机的,处理的数据量十分有限。

 

支持的语言:JAVA  Scala R Python

4.Dataset(1.6版本出来的)

DataFrame=Dataset[row]

支持语言:JAVA  Scala

5.DataFrame vs RDD

(1)俩这都是分布式的数据集,都可以并行计算,RDD是没有Schama的,所以DF是一张表,它的信息是要比RDD全的,除了数据以外还有许多字段信息,API上DataFrame提供的接口比RDD上更多,RDD是不知道传入数据的数据结构的,但DataFrame上有许多的字段信息,可以更好的做优化, 如位次下压,列裁剪等。

6.DF的执行流程

(1)譬如JAVA Scala API:是直接在自己JVM环境(或者其他环境)之下运行的,所以各自底层实现机制大不相同,性能差异也大

(2)DF首先会转换成一个逻辑执行计划(logic plan),然后最许多的优化之后成为物理执行计划(physical plan),所以只要是用DF接口的底层的实现机制都差不多

7,SparkSQL入口点

(1)小于2版本的:SQLContext     HiveContext  有缺点不能同时访问俩个

  大于等于2版本的:统一都叫SparlSession

8.基本操作

(1)./spark-shell --master local[2] --jars /home/hadoop/software/mysql--xxx-bin,jar

这是启动Sparkshell并且为他指定mysql的驱动包,这样就能使用sql语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值