大数据spark开发入门教程
大数据是互联网发展的方向,大数据人才是未来的高薪贵族。随着大数据人才的供不应求,大数据人才的薪资待遇也在不断提升。如果你也想进入大数据行业,也想学习大数据技术,大数据讲师认为,可以先从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开发入门教程相关推荐
- 大数据架构师入门学习
经常有初学者在博客和QQ问我,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高.如果自己很迷茫,为了这些原因想往大数据方向发展,也可以,那么我就想问一下,你 ...
- 2018年又传喜报!热烈祝贺王家林大师大数据经典著作《Spark SQL大数据实例开发教程》 畅销书籍 出版上市!
2018年又传喜报!热烈祝贺王家林大师大数据经典著作<Spark SQL大数据实例开发教程> 畅销书籍 出版上市! 作者: 王家林 段智华 条码书号:9787111591979 出版日期 ...
- Arduino可穿戴开发入门教程(大学霸内部资料)
Arduino可穿戴开发入门教程(大学霸内部资料) 试读下载地址:链接:http://pan.baidu.com/s/1mg9To28 密码:z5v8 介绍:Arduino可穿戴开发入门教程(大学霸内 ...
- 【Arduino】开发入门教程【六】数据类型转换函数
Arduino数据类型转换函数有 char() : 将任意类型的值转换成char类型; byte(): 将任意类型的值转换成byte类型; int(): 将任意类型的值转换成int类型; long ...
- 大数据高级开发工程师——Spark学习笔记(9)
文章目录 Spark内存计算框架 Spark Streaming Spark Streaming简介 Spark Streaming架构流程 什么是DStream DStream算子操作 1. Tra ...
- 大数据高级开发工程师——Spark学习笔记(7)
文章目录 Spark内存计算框架 Spark SQL SparkSQL架构设计 1. SparkSQL的架构设计实现 2. Catalyst执行过程 SQL 解析阶段 Parser 绑定逻辑计划 An ...
- 《Spark SQL大数据实例开发》9.2 综合案例实战——电商网站搜索排名统计
<Spark SQL大数据实例开发>9.2 综合案例实战--电商网站搜索排名统计 9.2.1 案例概述 本节演示一个网站搜索综合案例:以京东为例,用户登录京东网站,在搜索栏中输入搜 ...
- 大数据Spark入门案例5–统计广告点击数量排行Top3(scala版本)
大数据Spark入门案例5–统计每广告点击数量排行Top3(scala版本) 1 数据准备 链接:https://pan.baidu.com/s/1afzmL-hNsAJl1_gx_dH2ag 提取码 ...
- 2018数字转型,2019深耕细作,转型大数据全套开发教程都在这儿!
在过去的2018年这是数据世界中令人兴奋但复杂的一年 . 数据技术(大数据,数据科学,机器学习,人工智能)继续前进,变得越来越高效,并且在全球企业中得到更广泛的采用.到目前为止,2018年企业界的一个 ...
最新文章
- 如何理解Android中的xmlns
- 消费者关注的 Win8 问题汇总(下)
- C++中this指针的用法详解
- 将结构体数据存储到一段字符串string中
- oracle9i解密rewrap,oracle 9i 的加密解密用法之dbms_obfuscation_toolkit(一)
- 贪心法——区间选点问题
- (29)System Verilog设计SPI接收
- java rpc 框架 常用_常用的RPC架构系列---gRPC
- Android中Audio框架
- MEncoder的基础用法—6.1. 选择编解码器及容器格式
- Java命令学习系列(六)——javap
- 飞鱼科技2019笔试题
- 项目管理之成熟度模型
- Lua AES加解密
- 安装新版的winetricks_winetricks中文修改版(wine模拟器)
- c语言浮点型变量字母表示,C语言基础学习基本数据类型-浮点型
- 吴裕雄--天生自然 诗经:临江仙·滚滚长江东逝水
- Detecting Spacecraft Anomalies Using LSTMs and Nonparametric Dynamic Thresholding
- IP-Guard准入控制网关实现机制
- 解决DIV 层被FLASH遮挡了
热门文章
- vue中一个页面key值重复解决
- tcplayer 源码改造第二弹 - 加入倍速播放
- .net中当Thread.Sleep和Application.DoEvents都不好用时
- mysql insert 乐观锁_【mysql】关于乐观锁
- 倒计时7天!解锁“2022阿里巴巴开源开放周”精彩议程
- MovePrevious和MoveNext的用法
- 介绍篇 小贷公司 消费金融公司 P2P 助贷具体区别是什么
- 湖南工业大学c语言 期末考试程序改错,江苏省计算机等级考试C语言上机模拟题...
- C语言-NULL的值到底是什么?
- STM32使用16M外部晶振时出现异常