spark sql的应用场景
最近一直在银行做历史数据平台的项目,目前整个项目处于收尾的阶段,也好有时间整理下在项目中的一些收获。
该历史数据平台使用spark+Nosql架构了,Nosql提供了海量数据的实时查询,而spark提供了sql支持,最开始给客户设计方案的时候,对spark sql也不是很熟悉,只知道它的thriftserver可以支持JDBC,在做方案的设计的使用,Spark SQL提供了对外查询的接口。在测试中发现,spark sql的sql是一个执行完成后才能执行另一个,就是换了fair这种作业调度方式,整个集群的并发还是很慢。
spark是一个分布式计算框架, 从他的作业调度可以看到http://spark.apache.org/docs/latest/job-scheduling.html,它的资源分配粒度很粗,CPU的核数进行分配的,集群的CPU资源是有限的,同时spark sql资源计算时需要把大量数据加载到内存中,需要消耗集群大量的内存资源,再做shuffle的时候,又需要消耗大量的网络IO和磁盘IO, 如果同时多个job执行,那么每个job获得资源要么少,要么需要排队。而不能像关系型数据库那么提供高并发的服务。
我咨询了一下做NoSQL开发的哥们,NoSQL中没有做任务调度,但是每次查询的速度很快,对请求处理很块,这样并发就好了。如果遇到执行慢的请求,也会拖累查询速度,毕竟硬件资源有限,当然目前他们也在做资源调度这一块。
通过上面的分析,Spark SQL只是一个批处理的工具,所以如果用户比较少,并发要求不高,可以用spark sql,如果你想像关系型数据库那样提供对外服务,就选错工具了。
spark sql的应用场景的更多相关文章
- Hive、Spark SQL、Impala比较
Hive.Spark SQL.Impala比较 Hive.Spark SQL和Impala三种分布式SQL查询引擎都是SQL-on-Hadoop解决方案,但又各有特点.前面已经讨论了Hi ...
- 整理对Spark SQL的理解
Catalyst Catalyst是与Spark解耦的一个独立库,是一个impl-free的运行计划的生成和优化框架. 眼下与Spark Core还是耦合的.对此user邮件组里有人对此提出疑问,见m ...
- 平易近人、兼容并蓄——Spark SQL 1.3.0概览
自2013年3月面世以来,Spark SQL已经成为除Spark Core以外最大的Spark组件.除了接过Shark的接力棒,继续为Spark用户提供高性能的SQL on Hadoop解决方案之外, ...
- 【转载】Spark SQL 1.3.0 DataFrame介绍、使用
http://www.aboutyun.com/forum.php?mod=viewthread&tid=12358&page=1 1.DataFrame是什么?2.如何创建DataF ...
- Spark SQL利器:cacheTable/uncacheTable
Spark相对于Hadoop MapReduce有一个很显著的特性就是“迭代计算”(作为一个MapReduce的忠实粉丝,能这样说,大家都懂了吧),这在我们的业务场景里真的是非常有用. 假设我们有 ...
- Spark SQL 用户自定义函数UDF、用户自定义聚合函数UDAF 教程(Java踩坑教学版)
在Spark中,也支持Hive中的自定义函数.自定义函数大致可以分为三种: UDF(User-Defined-Function),即最基本的自定义函数,类似to_char,to_date等 UDAF( ...
- Spark SQL笔记——技术点汇总
目录 概述 原理 组成 执行流程 性能 API 应用程序模板 通用读写方法 RDD转为DataFrame Parquet文件数据源 JSON文件数据源 Hive数据源 数据库JDBC数据源 DataF ...
- Spark SQL 1.3测试
Spark SQL 1.3 参考官方文档:Spark SQL and DataFrame Guide 概览介绍参考:平易近人.兼容并蓄——Spark SQL 1.3.0概览 DataFrame提供了一 ...
- 大数据技术之_19_Spark学习_03_Spark SQL 应用解析 + Spark SQL 概述、解析 、数据源、实战 + 执行 Spark SQL 查询 + JDBC/ODBC 服务器
第1章 Spark SQL 概述1.1 什么是 Spark SQL1.2 RDD vs DataFrames vs DataSet1.2.1 RDD1.2.2 DataFrame1.2.3 DataS ...
随机推荐
- 利用HTML5开发Android笔记(中篇)
资源来自于www.mhtml5.com 杨丰盛老师成都场的PPT分享 一个很简明的demo 可以作为入门基础 学习的过程中做了点笔记 整理如下 虽然内容比较简单 但是数量还是比较多的 所以分了3篇 ( ...
- LeetCode Beautiful Arrangement II
原题链接在这里:https://leetcode.com/problems/beautiful-arrangement-ii/description/ 题目: Given two integers n ...
- nodejs express mysql
- MSSQL日誌傳輸熱備份注意事項
主次數據庫需要新增一個用戶,並設定agent服務用此用戶執行 主次數據庫需要設定共享目錄並擁有讀/寫權限,用anent執行用戶即可 如果新增日誌傳輸時順便初始化數據庫記得次數據庫主機目錄給寫權限,否則 ...
- 摘之知乎网友...PHYTIN学习
作者:东瓜王链接:https://www.zhihu.com/question/19593179/answer/23746083来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 想开发VR游戏?你需要注意这些东西
转自:http://www.gamelook.com.cn/2016/03/246620 开发VR游戏很难吗?有些人会说是,但在HTC虚拟现实新科技部门副总经理鲍永哲看来,VR游戏的门槛并不比一般的游 ...
- 设置windows10 背景颜色
[Win + R ] regedit 打开注册表 HKEY_CURRENT_USER\Control Panel\Colors 1.[InfoWindow] 默认为(白色):255 255 255, ...
- MFC简单的橡皮筋程序
void CMainWindow::OnLButtonDown(UINT nFlags,CPoint point) { //以下三个是在CMainWindow中定义 m_ptFrom=point; m ...
- SetConsoleCtrlHandler演示
#include "stdafx.h"#include <Windows.h> static BOOL WINAPI Handler(DWORD cntrlEvent) ...
- 程序中使用log4J打印信息的两种方式
(1)通过org.apache.commons.logging.Log 接口实例化: public static Log log = LogFactory.getLog(String name); p ...