您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
SparkSQL基础知识总结
 
作者: yunqiublog
 
   次浏览      
2020-4-23
 
编辑推荐:
本文比较基础,主要介绍了SparkSQL架构,SparkSQL的几点误区,.SQL的几点注意,连接Hive的几种方式,详情请看下文。
本文来自blog.itpub.net,由火龙果软件Anna编辑、推荐。

一.SparkSQL架构

1.架构

2.解释

一个sql 过来 解析成unresolved,只拿出来字段名和表名

但是不知道字段名和表名在哪个位置

需要通过Schema 确定表的位置等信息,

生成逻辑执行计划,Logical,知道数据从哪里来了

通过一些列优化过滤生成物理执行计划Physical

最后把物理执行计划放到spark集群上运行

3.样例

二.SparkSQL的几点误区

Spark SQL就是写SQL,这是错误的观点

Spark SQL不是SQL,超出SQL,因为SQL是其一部分

Spark SQL 是处理结构化数据的,只是Spark中的一个模块

Spark SQL 与 Hive on Spark 不是一个东西

Spark SQL 是spark里面的

Hive on Spark 的功能是比Spark SQL多的

Hive on Spark 稳定性不是很好

三.SQL的几点注意

1.SQL注意

关系数据库集群成本很高,还是有限的

SQL : schema + file

使用sql的前提就是有schema ,作用到文件上去

hive是进程的

hive2.0 默认引擎是Tez

Hive on Spark 就是把hive执行引擎改成spark

2.执行引擎

mr
spark
Tez

3.SparkSQL的JOIN

spark sql 可以跨数据源进行join,例如hdfs与mysql里表内容join
Spark SQL运行可以不用hive,只要你连接到hive的metastore就可以

 

4.hive底层的hiveserver2协议走的是thrift

hiveserver2开启可以用JDBC或者ODBC直接连接

四.连接Hive的几种方式

1.三种方式

spark-sql 与 spark-shell ,thriftserver

thriftserver对应hive里面的hiveserver2

2.thriftserver连接方式

./beeline -u jdbc:hive2://localhost:10000 -n root

3.thriftserver和spark-sql,spark-shell 的区别在哪?

spark-shell、spark-sql 都是是一个独立的 spark application,

启动几个就要几个application,非常耗资源

用thriftserver,无论启动多少个客户端(beeline)连接在一个thriftserver,

是一个独立的spark application,

后面不用在重新申请资源。前一个beeline缓存的,下一个beeline也可以用

用thriftserver,可在ui看执行计划,优化有优势

4.注意情况

这个要起来,要不spark-shell, spark-sql,连接不上,这个跟hive一样

5.可能出错

spark-shell --master local[2] --jars /soft/hive/lib/mysql-connector-java-8.0.12.jar 这样启动不起来

你可以试试把mysql-connector-java-8.0.12.jar 放到spark的jars里

6.解决

 

 

 
   
次浏览       
相关文章

基于EA的数据库建模
数据流建模(EA指南)
“数据湖”:概念、特征、架构与案例
在线商城数据库系统设计 思路+效果
 
相关文档

Greenplum数据库基础培训
MySQL5.1性能优化方案
某电商数据中台架构实践
MySQL高扩展架构设计
相关课程

数据治理、数据架构及数据标准
MongoDB实战课程
并发、大容量、高性能数据库设计与优化
PostgreSQL数据库实战培训
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]
 
最新文章
大数据平台下的数据治理
如何设计实时数据平台(技术篇)
大数据资产管理总体框架概述
Kafka架构和原理
ELK多种架构及优劣
最新课程
大数据平台搭建与高性能计算
大数据平台架构与应用实战
大数据系统运维
大数据分析与管理
Python及数据分析
更多...   
成功案例
某通信设备企业 Python数据分析与挖掘
某银行 人工智能+Python+大数据
北京 Python及数据分析
神龙汽车 大数据技术平台-Hadoop
中国电信 大数据时代与现代企业的数据化运营实践
更多...