博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark SQL概念学习系列之为什么使用 Spark SQL?(二)
阅读量:6879 次
发布时间:2019-06-27

本文共 963 字,大约阅读时间需要 3 分钟。

 简单地说,Shark 的下一代技术 是Spark SQL。

  由于 Shark 底层依赖于 Hive,这个架构的优势是对传统 Hive 用户可以将 Shark 无缝集成进现有系统运行查询负载。

  但是也看到一些问题:一方面,随着版本升级,查询优化器依赖于 Hive,不方便添加新的优化策略,需要进行另一套系统的学习和二次开发,学习成本很高。

  另一方面, MapReduce是进程级并行,例如: Hive 在不同的进程空间会使用一些静态变量,当在同一进程空间进行多线程并行执行,多线程同时写同名称的静态变量会产生一致性问题,

所以Shark 需要使用另外一套独立维护的 Hive 源码分支。而为了解决这个问题 AMPLab 和Databricks 利用 Catalyst 开发了 Spark SQL。

Spark 的全栈解决方案为用户提供了多样的数据分析框架,机器学习、图计算、流计算如火如荼的发展和流行吸引了大批的学习者,为什么人们今天还是要重视在大数据环境下使用 SQL 呢?笔者认为主要有以下几点原因:
1)易用性与用户惯性。在过去的很多年中,有大批的程序员的工作是围绕着 数据库 + 应用 的架构来做的,因为 SQL 的易用性提升了应用的开发效率。程序员已经习惯了业务逻辑代码调用 SQL 的模式去写程序,惯性的力量是强大的,如果还能用原有的方式解决现有的大数据问题,何乐而不为呢?提供 SQL 和 JDBC 的支持会让传统用户像以前一样地书写程序,大大减少迁移成本。
2)生态系统的力量。很多系统软件性能好,但是未取得成功和没落,很大程度上因为生态系统问题。传统的 SQL 在 JDBC、 ODBC、 SQL 的各种标准下形成了一整套成熟的生态系统,很多应用组件和工具可以迁移使用,像一些可视化的工具、数据分析工具等,原有企业的 IT 工具可以无缝过渡。
    3)数据解耦, Spark SQL 正在扩展支持多种持久化层,用户可以使用原有的持久化层存储数据,但是也可以体验和迁移到 Spark SQL 提供的数据分析环境下进行 BigData 的分析。

 

 

本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5725017.html,如需转载请自行联系原作者

你可能感兴趣的文章
潜移默化学会WPF(样式篇)---改造CheckBox,全新metro风格
查看>>
菜菜从零学习WCF七(消息协定)
查看>>
C# 使用xsd文件验证XML 格式是否正确
查看>>
一位Erlang程序猿的自白
查看>>
高建忠对哮病的认识和治疗
查看>>
RPC框架实现 - 通信协议篇
查看>>
Python使用subprocess的Popen要调用系统命令
查看>>
Android 手机号码格式验证
查看>>
poj_3274 哈希
查看>>
FastCgi与PHP-fpm之间是个什么样的关系
查看>>
解决angular 与django的冲突
查看>>
《圈子圈套2》—— 读后总结
查看>>
JTA集成JOTM或Atomikos配置分布式事务(Tomcat应用服务器)
查看>>
mysql explain用法
查看>>
openssl 非对称加密DSA,RSA区别与使用介绍
查看>>
JS如何禁止别人查看网站源码
查看>>
android Service
查看>>
JS语言中的JSON.parse()和JSON.stringify()
查看>>
表单验证(AngularJs)
查看>>
unity之UGUI屏幕分辨率調整
查看>>