怎样使用java开发spark程序?

怎样使用java开发spark程序?,第1张

1、Spark 是基于内存的分布式计算框架,因为无需利用 HDFS 作为中间结果保存的介质,性能杠杠的。Spark 是由 Scala 实现的,所以最好学习一下 Scala(当然用 Python 和 Java 也是可以的)。(http://wdxtub.com/2016/04/11/spark-guide/)

为啥要用 Spark?

快!基于内存

易用!Scala, Java, Python 都支持,还有交互式的 Python 和 Scala 的 shell,可以快速进行原型开发

通用!批处理、交互查询、流处理、机器学习、图计算,样样精通

兼容!可以使用各种现有的技术作为底层,也可以自己独立运行

Spark 生态系统有哪些组件?

Spark SQL: 类似 Hive,支持在不同 RDD 上进行类似 SQL 的 *** 作

Spark Streaming: 对于流数据进行处理

MLlib: 机器学习库

GraphX: 图并行框架

RDD 是什么?

在 Spark 框架中,最重要的是一类新的数据抽象,叫做 Resilient Distributed Dataset - RDD。RDD 是分布式存储在集群中的内存对象,按照值的范围或者哈希结果进行划分。与此同时 RDD 会记录关于数据进行的各种 *** 作(每次 *** 作都会生成新的 RDD),这样即使节点挂掉,也能够根据之前的 *** 作日志重新得到损失的 RDD

RDD 支持2种 *** 作:

转换(transformation):从现有的数据集创建一个新的数据集

动作(actions):在数据集上运行计算后,返回一个值给驱动程序

2、实战java开发spark程序

https://my.oschina.net/csmw00/blog/672869

3、spark集群环境搭建

http://nekomiao.me/2016/12/05/spark-install-distributed/

spark-submit只是一个帮你设置classpath的脚本。你的代码还是在JVM里面执行,你写了什么代码,JVM就跑什么。你需要用Spark的API才能在Sparkcluster上并行执行。

我们首先提出这样一个简单的需求: 现在要分析某网站的访问日志信息,统计来自不同IP的用户访问的次数,从而通过Geo信息来获得来访用户所在国家地区分布状况。这里我拿我网站的日志记录行示例


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8136136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存