sparkjava(sparkjava入门例子)

今天给各位分享sparkjava的知识,其中也会对sparkjava入门例子进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、Spark 中用 Scala 和 java 开发有什么区别2、spark和java的关系3、spark java本地环境怎么搭建

Spark 中用 Scala 和 java 开发有什么区别

语言不同:Scala 是一门函数式语言,Java是面向对象语言,二者在语言特点上差异特别大。但是scala也是运行在java虚拟机上,两者可以方便的互相调用。

Spark作为一个数据统计分析的工具,它是偏向于函数式处理的思想,因此在spark应用开发时,天然与scala亲近,所以用scala写spark十分的简洁明了,用java代码100行写出来的spark程序,可能用scala几行就搞定了。

Java写spark则是java出生的开发人员快速使用spark的最佳选择。另外,Java 8之后,也添加了一些函数式语言得语法,这使得Java写spark简洁不少。

spark和java的关系

通常大家只是说Spark是基于内存计算的,速度比MapReduce要快。或者说内存中迭代计算。其实我们要抓住问题的本质。总结有以下几点:

1、Spark vs MapReduce ≠ 内存 vs 磁盘

其实Spark和MapReduce的计算都发生在内存中,区别在于:

MapReduce通常需要将计算的中间结果写入磁盘,然后还要读取磁盘,从而导致了频繁的磁盘IO。

Spark则不需要将计算的中间结果写入磁盘,这得益于Spark的RDD(弹性分布式数据集,很强大)和DAG(有向无环图),其中DAG记录了job的stage以及在job执行过程中父RDD和子RDD之间的依赖关系。中间结果能够以RDD的形式存放在内存中,且能够从DAG中恢复,大大减少了磁盘IO。

2、Spark vs MapReduce Shuffle的不同

Spark和MapReduce在计算过程中通常都不可避免的会进行Shuffle,两者至少有一点不同:

MapReduce在Shuffle时需要花费大量时间进行排序,排序在MapReduce的Shuffle中似乎是不可避免的;

Spark在Shuffle时则只有部分场景才需要排序,支持基于Hash的分布式聚合,更加省时;

3、多进程模型 vs 多线程模型的区别

MapReduce采用了多进程模型,而Spark采用了多线程模型。多进程模型的好处是便于细粒度控制每个任务占用的资源,但每次任务的启动都会消耗一定的启动时间。就是说MapReduce的Map Task和Reduce Task是进程级别的,而Spark Task则是基于线程模型的,就是说mapreduce 中的 map 和 reduce 都是 jvm 进程,每次启动都需要重新申请资源,消耗了不必要的时间(假设容器启动时间大概1s,如果有1200个block,那么单独启动map进程事件就需要20分钟)

Spark则是通过复用线程池中的线程来减少启动、关闭task所需要的开销。(多线程模型也有缺点,由于同节点上所有任务运行在一个进程中,因此,会出现严重的资源争用,难以细粒度控制每个任务占用资源)

总结:关于Spark为什么比MapReduce快,或者Spark速度快于MapReduce的原因,总结至少有这几点不同之处吧。

sparkjava(sparkjava入门例子)

spark java本地环境怎么搭建

1. 环境准备

Eclipse 请不要使用最新的 Neon(4.6) ,太多Bug了。 还是使用最新的 Mars(4.5) 系列吧

JDK 版本8.x (Linux推荐Oracle, 没有测试过OpenJDK)

因为只是用Java,因此无需安装Scala及其相应的插件

2. 创建一个新的maven项目

3. pom.xml

org.apache.hadoop

hadoop-client

2.6.0

javax.servlet

*

org.apache.spark

spark-core_2.10

1.6.1

org.apache.spark

spark-streaming_2.10

1.6.1

org.apache.spark

spark-mllib_2.10

1.6.1

org.scala-lang

scala-library

2.10.5

这里只列出了必要的几个依赖。 其他的请根据你自己的项目需求添加

4. 使用maven打包

之后在Goal 之中填写clean package 即可

如果在修改了与Spark相关的代码之后,需要重新编译打包才行。 否则会有异常提示。

5. 代码编写注意事项:

在创建JavaSparkContext的时候,需要把自己加进去。

public static JavaSparkContextgetContext(String taskName) {

JavaSparkContextsc = new JavaSparkContext(SparkConnUtils.getSparkConf(taskName));

sc.addJar(“target/sparkstat-0.0.1-SNAPSHOT.jar”);

return sc;

}

其中target/sparkstat-0.0.1-SNAPSHOT.jar是maven 运行之后生成的完整的jar包

关于sparkjava和sparkjava入门例子的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月29日 04:48:49
下一篇 2024年3月29日 04:59:02

相关推荐

  • 黑客学习,黑客入门课程

    学习黑客用什么书? 1、想成为一名黑客从这五本书开始入门1,《Python密码学编程》(第二版)本书是为对加密、破解或密码算法抱有浓厚兴趣的人士准备。 2、)2:《黑客手册》这本书很不错,注重网络安全,适合有网络方面基础的同学学习,不适合入门。 3、我推荐《黑客X档案》,可以接触到很多新技术,而且就算是菜鸟也看得懂(因为绝大部分读者都是初学者,所以这本杂志挺…

    2024年5月23日
    4300
  • 小白学习黑客技术从哪入手,黑客小白入门书籍

    黑客零基础入门 1、黑客必备的一些基础命令,包括DOS命令,以及UNIX / Linux下的命令。远程扫描、远程刺探技术。包括通过系统自带命令的信息刺探以及使用工具扫描等。密码破解。了解现在的密码破解的适用范围,以及操作技巧等等。 2、CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指网络安全技术人员之间进行技术竞技的一种比赛形…

    2024年5月23日
    3900
  • 学习手机黑客入门书籍,黑客入门必备书籍

    黑客新手入门应该学习哪些书籍? 想成为一名黑客从这五本书开始入门1,《Python密码学编程》(第二版)本书是为对加密、破解或密码算法抱有浓厚兴趣的人士准备。 我推荐《黑客X档案》,可以接触到很多新技术,而且就算是菜鸟也看得懂(因为绝大部分读者都是初学者,所以这本杂志挺照顾菜鸟的)。 此外赠送包含200个黑客攻防实用技巧的电子图书,全面帮助读者解决在防御黑客…

    2024年5月23日
    4300
  • c语言入门自学app,c语言入门自学软件

    如何用C语言编写简单的手机app? 1、C语言,可以写出Android操作系统。但很难拿C语言去些那些手机操作系统的程序。Windows操作系统下的.exe文件倒是可以使用C语言来生成,可惜这不是你想了解的、这是PC软件,不是手机软件。 2、c语言不可以开发app。一般情况下,安卓app用Java语言开发,苹果app用object-C语言开发,具体开发时应针…

    2024年5月23日
    4500
  • 白帽黑客学习壁纸手机简约,白帽黑客入门

    2021高清壁纸全面屏手机,小屏手机推荐2021 三星Galaxy S21和魅族18屏幕尺寸一样,都是2英寸,只不过三星“直了”,却把友商都“带弯了”,另外S21这块屏幕分辨率仅1080P,但是支持120Hz自适应刷新率,支持无线充电与IP68防水,机身重量169g。 魅族18 .这是一款小屏旗舰手机,搭载一块2英寸的四曲面微弧屏幕,机身重量162g,机身厚…

    2024年5月23日
    4500
  • c语言游戏开发教程,c语言游戏编程从入门到精通

    c做游戏代码简单游戏代码c语言 算法分析:长方形面积及周长均依赖于宽和高,所以先要输入宽高值,然后根据公式计算,输出结果即可。 /*也不知道你是什么级别的,我是一个新手,刚接触编程语言,以下是我自己变得一个小程序,在所有c语言的编译器(vc++0、turbo??)上都能运行,你还可以进一步改进。这是一个类似贪吃蛇的小游戏。 用户输入:游戏需要响应用户的输入,…

    2024年5月23日
    4100
  • java入门程序,java入门简单代码

    零基础小白如何快速入行JAVA?需要做好这五步! 1、利用好老师、同学等人手资源,利用好Java培训机构的资料、课件等资源,不懂就问,有知识点就记录。善于总结问题,积极弥补自身的不足之处,可以建一个最简单的Javamain方法进行测试验证。 2、第1步:学习JAVA的开发环境配置、开发第一个Java程序。也建议大家开始使用eclipse等IDE,不必纠结是不…

    2024年5月23日
    4100
  • 从零基础学习黑客,零基础学黑客如何入门

    从零开始,想做黑客该学什么语言好?(别说中文、英文) Assembly Languages(汇编语言),汇编语言是最接近于硬件的语言,不过现在几乎没多少人用了。 当然,现在的话还要学JAVA,C++,PERL等 入侵都是网络的,所以对网络要非常的了解。 学习UNIX/LINUX UNIX/LINUX是一种安全性更高的开源操作系统,最早由AT&T实验室…

    2024年5月23日
    4400
  • c语言入门经典第七版pdf,c语言入门pdf下载

    学习c语言哪个书比较好些? 1、重点推荐C语言四大圣经:《C语言程序设计》、《C和指针》、《C陷阱与缺陷》、《C作家编程》。其中C语言的发明者K&R的《C程序设计语言》更是重中之重,此书是C语言的第一秘典。所有优秀程序员的必经之路。 2、学习C语言的书如下:《C primer plus》这本书作为一本被人推崇备至的C入门经典,绝非浪得虚名。应该算得上…

    2024年5月23日
    4000
  • c语言程序设计大程序,程序设计入门c语言

    什么是c语言程序设计 1、C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 2、C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计…

    2024年5月23日
    5400

发表回复

登录后才能评论



关注微信