大数据是互联网发展的方向,大数据人才是未来的高薪贵族。随着大数据人才的供不应求,大数据人才的薪资待遇也在不断提升。如果你也想进入大数据行业,也想学习大数据技术,大数据讲师认为,可以先从spark技术开始。

一、Spark是什么

Spark是一个微型的Java Web框架,它的灵感来自于Sinatra,它的目的是让你以zui小的代价创建出一个Java Web应用。

二、使用Spark

Spark的使用相当简单,首先你需要下载它的jar包以及它所依赖的jar包,或者你也可以直接通过maven来帮你做这件事情:
在pom.xml中修改repository的配置:

<repository>

<id>Spark repository</id>

<url>http://46.137.105.19:8081/nexus/content/repositories/spark/</url></repository>

再添加spark的依赖

<dependency>

<groupId>spark</groupId>

<artifactId>spark</artifactId>

<version>0.9.8-SNAPSHOT</version></dependency>

然后只要下面这一段代码,你就可以输出一个Hello,world了:

import static spark.Spark.*;import spark.*;

public class HelloWorld {

public static void main(String[] args) {

get(new Route("/hello") {

@Override

public Object handle(Request request, Response response) {

return "Hello World!";

}

});

}

}

打开http://localhost:4567/hello快快看看效果吧。
怎么样?够简单吧,接下来看下Spark中一些重要的组件:

三、Spark中的组件

Routes

在Spark程序中,其请求的处理都是由Route来完成的,一个Route由三部分组成:

一个动词,比如get,post,delete,trace等等

一个路径,比如前面的例子中的“/hello”

回调函数,比如前面的例子中的handle

另外需要注意的一点是,Spark在处理请求进行路径匹配的时候是优先匹配先出现的Route,也就是如果你的请求匹配到了多个Route,那么Spark会调用先出现的那个来处理请求。
    另外Spark也支持在路径中设置参数,例如:

new Route("/user/:username"){};

你可以在handle方法里面通过调用request的params方法来获取到路径中的参数:

request.params(":username");

Filters

除了Routes之外,Spark中另一个重要的组件就是Filter,filter分为before filter和after filter,两者分别可以在请求被Routes处理之前和被Routes处理之后获取Request或者对Response进行修改,比如
Before Filter:

before(new Filter() { // matches all routes

@Override

public void handle(Request request, Response response) {

boolean authenticated;

// ... check if authenticated

if (!authenticated) {

halt(401, "You are not welcome here");

}

}

});

After Filter:

after(new Filter() {

@Override

public void handle(Request request, Response response) {

response.header("foo", "set by after filter");

}

});

你也可以让Filter只过滤符合特定规则的URL:

before(new Filter("/protected/*") {

@Override

public void handle(Request request, Response response) {

// ... check if authenticated

halt(401, "Go Away!");

}

});

以上就是千锋大数据讲师为大家分享的大数据spark入门技术,想要学习更多大数据的技术知识,快来这里拜神级大数据讲师为师吧!

大数据spark开发入门教程相关推荐

  1. 大数据架构师入门学习

    经常有初学者在博客和QQ问我,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高.如果自己很迷茫,为了这些原因想往大数据方向发展,也可以,那么我就想问一下,你 ...

  2. 2018年又传喜报!热烈祝贺王家林大师大数据经典著作《Spark SQL大数据实例开发教程》 畅销书籍 出版上市!

    2018年又传喜报!热烈祝贺王家林大师大数据经典著作<Spark SQL大数据实例开发教程> 畅销书籍 出版上市! 作者: 王家林 段智华  条码书号:9787111591979 出版日期 ...

  3. Arduino可穿戴开发入门教程(大学霸内部资料)

    Arduino可穿戴开发入门教程(大学霸内部资料) 试读下载地址:链接:http://pan.baidu.com/s/1mg9To28 密码:z5v8 介绍:Arduino可穿戴开发入门教程(大学霸内 ...

  4. 【Arduino】开发入门教程【六】数据类型转换函数

    Arduino数据类型转换函数有 char() : 将任意类型的值转换成char类型; byte():  将任意类型的值转换成byte类型; int():  将任意类型的值转换成int类型; long ...

  5. 大数据高级开发工程师——Spark学习笔记(9)

    文章目录 Spark内存计算框架 Spark Streaming Spark Streaming简介 Spark Streaming架构流程 什么是DStream DStream算子操作 1. Tra ...

  6. 大数据高级开发工程师——Spark学习笔记(7)

    文章目录 Spark内存计算框架 Spark SQL SparkSQL架构设计 1. SparkSQL的架构设计实现 2. Catalyst执行过程 SQL 解析阶段 Parser 绑定逻辑计划 An ...

  7. 《Spark SQL大数据实例开发》9.2 综合案例实战——电商网站搜索排名统计

    <Spark SQL大数据实例开发>9.2 综合案例实战--电商网站搜索排名统计 9.2.1 案例概述     本节演示一个网站搜索综合案例:以京东为例,用户登录京东网站,在搜索栏中输入搜 ...

  8. 大数据Spark入门案例5–统计广告点击数量排行Top3(scala版本)

    大数据Spark入门案例5–统计每广告点击数量排行Top3(scala版本) 1 数据准备 链接:https://pan.baidu.com/s/1afzmL-hNsAJl1_gx_dH2ag 提取码 ...

  9. 2018数字转型,2019深耕细作,转型大数据全套开发教程都在这儿!

    在过去的2018年这是数据世界中令人兴奋但复杂的一年 . 数据技术(大数据,数据科学,机器学习,人工智能)继续前进,变得越来越高效,并且在全球企业中得到更广泛的采用.到目前为止,2018年企业界的一个 ...

最新文章

  1. 如何理解Android中的xmlns
  2. 消费者关注的 Win8 问题汇总(下)
  3. C++中this指针的用法详解
  4. 将结构体数据存储到一段字符串string中
  5. oracle9i解密rewrap,oracle 9i 的加密解密用法之dbms_obfuscation_toolkit(一)
  6. 贪心法——区间选点问题
  7. (29)System Verilog设计SPI接收
  8. java rpc 框架 常用_常用的RPC架构系列---gRPC
  9. Android中Audio框架
  10. MEncoder的基础用法—6.1. 选择编解码器及容器格式
  11. Java命令学习系列(六)——javap
  12. 飞鱼科技2019笔试题
  13. 项目管理之成熟度模型
  14. Lua AES加解密
  15. 安装新版的winetricks_winetricks中文修改版(wine模拟器)
  16. c语言浮点型变量字母表示,C语言基础学习基本数据类型-浮点型
  17. 吴裕雄--天生自然 诗经:临江仙·滚滚长江东逝水
  18. Detecting Spacecraft Anomalies Using LSTMs and Nonparametric Dynamic Thresholding
  19. IP-Guard准入控制网关实现机制
  20. 解决DIV 层被FLASH遮挡了

热门文章

  1. vue中一个页面key值重复解决
  2. tcplayer 源码改造第二弹 - 加入倍速播放
  3. .net中当Thread.Sleep和Application.DoEvents都不好用时
  4. mysql insert 乐观锁_【mysql】关于乐观锁
  5. 倒计时7天!解锁“2022阿里巴巴开源开放周”精彩议程
  6. MovePrevious和MoveNext的用法
  7. 介绍篇 小贷公司 消费金融公司 P2P 助贷具体区别是什么
  8. 湖南工业大学c语言 期末考试程序改错,江苏省计算机等级考试C语言上机模拟题...
  9. C语言-NULL的值到底是什么?
  10. STM32使用16M外部晶振时出现异常