前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >让Spark成为你的瑞士军刀

让Spark成为你的瑞士军刀

作者头像
用户2936994
发布2018-08-27 10:35:56
3610
发布2018-08-27 10:35:56
举报
文章被收录于专栏:祝威廉

今天基本算是完成了一个类似spark-jobserver 的功能,当然功能还是比较简单的,不过提供了Web界面。很感慨Spark 用好了,真的是大数据的瑞士军刀

依托于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 目前的组件已经涵盖了大部分你需要的东西。加上上面我提及的几点,用好了,你会觉得很多事情变得很简单了。

微信链接: 让Spark成为你的瑞士军刀

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.06.15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档