让Spark成为你的瑞士军刀

4f3f3316ae438e7e87a54931efe627a4fcf6a429
依托于Spark Streaming /Spark SQL,封装了一套通过配置和SQL就能完成批处理和流式处理的引擎,这样可以很好的完成复杂的ETL处理过程,实现了数据的流转和变换。
完成了数据的流转和变换,接着就是查询了,通过对Spark SQL的封装,我现在可以任意指定多个数据源,举个例子,将ES的索引A` 命名为表A,将来自HDFS 的Parquet 文件命名为表B,这个时候我就可以写SQL作任意的处理了。用户要做的就是选择对应数据来源,接着就是完成SQL就好。
能实现上面的功能得益于Spark
  • 统一易用的API,比如RDD/DF/DS
  • 功能丰富的组件,比如流式计算/批处理,机器学习,强大的SQL支持
Spark 背后的Databricks公司是我见过最重视
  • 用户API设计
  • 对领域问题具有高度抽象和设计能力
API 我就不说了,Spark的用户层API都是经过精心设计的,RDD自然不必说,上层的DF/DS 已经很好用,在2.0又更进一步统一了DF/DS (DF 是DS 类型为Row的一个特例),这样可以让用户进一步减少使用和理解障碍。而且机器学习相关的API 也要慢慢迁移到 DF/DS ,进一步简化用户学习和使用成本。
对领域问题的高度抽象能力,我觉得给我特别印象深刻的是机器学习相关的,几经发展,目前形成了一套完善的ML-Pipelines 的东西,结果是啥呢? 机器学习通过抽象以下几个概念
  • Estimator
  • Transformer
  • Pipeline
  • Parameter
  • DataFrame

实现了模块化。基于之上,你可以实现配置化来完成机器学习流程。
大数据现阶段在我目前看来从功能上可划分数据处理和机器学习。从架构上而言,则是流式计算和批处理。 Spark 目前的组件已经涵盖了大部分你需要的东西。加上上面我提及的几点,用好了,你会觉得很多事情变得很简单了。
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/60465

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。