让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成为你的瑞士军刀

时间: 2024-10-23 21:11:59

让Spark成为你的瑞士军刀的相关文章

Spark 是否真的比 MapReduce 技高一筹

Apache 基金会下的 Spak 再次引爆了大数据的话题.带着比 Hadoop MapReduce 速度要快 100 倍的承诺以及更加灵活方便的 API,一些人认为这或许预示着 Hadoop MapReduce 的终结. 作为一个开源的数据处理框架,Spark 是如何做到如此迅速地处理数据的呢?秘密就在于它是运行在集群的内存上的,而且不受限于 MapReduce 的二阶段范式.这大大加快了重复访问同一数据的速度. Spark 既可以单独运行,也可以运行在 Hadoop YARN 上(注:Had

《Spark大数据分析:核心概念、技术及实践》Scala编程

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第2节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问"华章计算机"公众号查看. Scala编程 Scala是当前热门的现代编程语言之一.它是编程语言界的凯迪拉克.它是一门强大且优美的语言.学会了它,对你的职业生涯大有裨益. 用不同的编程语言都可以编写大数据应用程序,比如Java.Python.C++.Scala等.Hadoop本身就是用Java编写的.尽管大多数的

《Spark大数据分析:核心概念、技术及实践》一 2.2 Scala基础

2.2 Scala基础 Scala是一门支持面向对象编程和函数式编程的混合语言.它支持函数式编程的概念,比如不可变数据结构,把函数视为一等公民.在面向对象方面,它也支持类.对象.特质.封装.继承.多态和其他面向对象的概念. Scala是一门静态类型语言.Scala应用程序是由Scala编译器编译的.Scala是类型安全的,Scala编译器在编译期间会强制检查类型安全性.这有助于减少应用程序中的bug. 最后,Scala是一门基于JVM的语言.Scala编译器会将Scala应用程序编译成Java字

linux中的&amp;quot;瑞士军刀&amp;quot;

linux中的"瑞士军刀" busybox 俗称linux中的瑞士军刀,它类似于linux系统中bash 的一个缩微版,常用于嵌入式设备中,例如你的android手机中等等.busybox作为一个开源的应用,它的解析命令行的应用是值得学习的 http://busybox.net/

xmpp-基于XMPP spark客户端 多人聊天室,消息记录问题?

问题描述 基于XMPP spark客户端 多人聊天室,消息记录问题? 1.spark客户端加入某个聊天室,都会获取该聊天室之前所有的记录.因为我对openfire不太了解,没看过源码.想问一下,返回的聊天记录是不是有一定条数限制?2.还有对于这个浪费流量,很不合理的问题,有么有在原有机制上的改过的方式(或者说是改openfire源码)?

如何低成本、高效率搭建Hadoop/Spark大数据处理平台

随着人们逐渐认识到 "大数据"的价值,互联网.电商到金融业.政企等各行业开始处理海量数据.如何低成本.敏捷高效地搭建大数据处理平台,成为影响大数据创新效率的关键. 为了让用户以最简便地方式享用阿里云全球资源,在云端构建敏捷弹性.高可靠和高性价比的大数据平台,近日,阿里云在成都云栖大会上发布了一款Hadoop/Spark场景专用的ECS存储优化型实例D1规格族,单实例提供最高56核CPU,224GB内存,168TB本地盘容量,5GB/S总吞吐,PPS达120万+.这对Hadoop/Spa

Spork: Pig on Spark实现分析

介绍 Spork是Pig on Spark的highly experimental版本,依赖的版本也比较久,如之前文章里所说,目前我把Spork维护在自己的github上:flare-spork. 本文分析的是Spork的实现方式和具体内容. Spark Launcher 在hadoop executionengine包路径下,写了一个Spark启动器,同MapReduceLauncher类似,会在launchPig的时候,把传入的物理执行计划进行翻译. MR启动器翻译的是MR的操作,以及进一步

大数据分析平台Hadoop与Spark之争

ZD至顶网软件频道消息 原创文章(文/邓晓蕾): 有人把大数据称为信息资产.有人称为金矿.甚至社会财富.而大数据,即,无法在可承受的时间范围内用常规软件工具进行捕捉.管理和处理的数据集合.Gartne认为"大数据"是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的信息资产.大数据并不在"大",而在于"有用".价值含量.挖掘成本比数量更为重要.对于很多行业而言,如何利用这些大规模数据是成为赢得竞争的关键.大数据

spark sql简单示例

运行环境 集群环境:CDH5.3.0 具体JAR版本如下: spark版本:1.2.0-cdh5.3.0 hive版本:0.13.1-cdh5.3.0 hadoop版本:2.5.0-cdh5.3.0 spark sql的JAVA版简单示例 spark sql直接查询JSON格式的数据 spark sql的自定义函数 spark sql查询hive上面的表 import java.util.ArrayList; import java.util.List; import org.apache.sp