spark-学习笔记--1 wordcount
spark RDD
spark :分布式、基于内存、迭代式、
RDD :弹性分布式数据集
RDD是一个逻辑上的数据集合 可以分为多个分区 分布到不同的机器上
RDD的弹性: 默认是放在节点内存里的 ,内存装不下时会放到磁盘,但这对使用者是透明的。
自动的进行内存和磁盘切换机制 就是它说的弹性。
RDD的容错性 :节点失败 会从源重新计算
spark 核心编程:
1、定义初始的RDD 读取数据
2、定义算子-- 对数据的操作
3、多步操作处理数据
4、保存结果
package com.yzl.spark.sparkstudy; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.api.java.function.FlatMapFunction; import org.apache.spark.api.java.function.Function; import org.apache.spark.api.java.function.Function2; import org.apache.spark.api.java.function.PairFunction; import org.apache.spark.api.java.function.VoidFunction; import scala.Tuple2; /** * Hello world! * */ public class App { public static void main(String[] args) { // 1、创建 SparkConf SparkConf sc = new SparkConf(); sc.setAppName("wordCount"); sc.setMaster("local"); // 2、创建JavaSparkContext JavaSparkContext jsc = new JavaSparkContext(sc); // 3、创建RDD JavaRDD<String> lines = jsc.textFile("/666666666.txt"); JavaRDD<String> words = lines.flatMap(new FlatMapFunction<String, String>() { public Iterator<String> call(String arg0) throws Exception { List<String> list = Arrays.asList(arg0.split(" |\\.|_|=|/")); ArrayList<String> arrayList = new ArrayList<String>(list); return arrayList.iterator(); } }); JavaPairRDD<String, Integer> pair = words.mapToPair(new PairFunction<String, String, Integer>() { public Tuple2<String, Integer> call(String key) throws Exception { return new Tuple2<String, Integer>(key, 1); } }); JavaPairRDD<String,Integer> counts = pair.reduceByKey(new Function2<Integer, Integer, Integer>() { public Integer call(Integer arg0, Integer arg1) throws Exception { return arg0 + arg1; } }); //action counts.foreach(new VoidFunction<Tuple2<String,Integer>>() { public void call(Tuple2<String, Integer> arg0) throws Exception { System.out.println(arg0._1 +"------"+arg0._2); } }); jsc.close(); } }
相关推荐
4. **MLlib**:Spark的机器学习库,包含了各种常见的机器学习算法,如分类、回归、聚类、协同过滤等,以及模型选择和评估工具。 5. **GraphX**:用于图计算,提供了一种表示和操作图形数据的API,支持图形分析和并行...
Spark自带了一些样例程序,例如WordCount,可以通过`bin/spark-submit`命令提交作业到集群运行。 6. **开发和交互** - **Scala**:Spark的原生编程语言,可以编写Spark应用。 - **PySpark**:Python接口,提供与...
### Spark 下实现 WordCount #### 一、简介 在大数据处理领域,Apache Spark 是一个非常流行的框架,它能够高效地处理大规模数据集。WordCount 是一个经典的示例程序,用于统计文本文件中每个单词出现的次数。本篇...
快速开始安装Apache nifi(来自 ) 安装Apache Spark(来自 ) 克隆此存储库并进行构建$ git clone git@github.com:emethk/spark-streaming-wordcount-on-nifi.git$ cd spark-streaming-wordcount-on-nifi$ sbt ...
009 - Spark框架 - 快速上手 - WordCount - Spark的实现.avi 010 - Spark框架 - 快速上手 - WordCount - 日志和错误.avi 011 - Spark框架 - 运行环境 - 本地环境 - 基本配置和操作.avi 012 - Spark框架 - 运行环境 -...
flink wordcount 测试程序,包含流处理和批处理 无界流处理测试启动类:org.flink.study.practice01.StreamWordCount 启动参数:--isNetcat true --host 192.168.116.10 --port 9999
下载资料后,免费获取数据集和jar包
总结,Spark上的WordCount程序是理解和学习Spark基础操作的好起点。通过这个简单的例子,我们可以深入理解Spark的工作原理,以及如何在Java环境中编写并执行Spark任务。在实际应用中,这些基本操作可以扩展到更复杂...
火花示例 建造 制作罐子: mvn package 运行和测试 将 inputfile.txt 上传到 hdfs: ... spark-submit --class com.javachen.spark.wordcount.JavaWordCount --master local \ spark-examples-0.
本压缩包包含:spark-assembly-1.4.0-hadoop2.6.0.jar、jcommon-1.0.16.jar、jfreechart-1.0.3.jar、joda-time-2.2.jar, 基于课程《第四章Spark&Scala的集成开发环境.docx》
**Spark 最简单WordCount** Spark是一款高性能的分布式计算框架,主要设计用于大数据处理。它提供了弹性分布式数据集(RDD)...在实际应用中,Spark可用于更复杂的分布式数据处理任务,如机器学习、图计算和流处理等。
### Spark简单测试案例 #### 一、测试环境 在本案例中,我们将使用特定的环境配置来进行测试。...通过学习这个案例,可以帮助读者更好地理解 Spark 的基本操作以及如何在实际场景中应用 Spark 进行大规模数据处理。
总结起来,storm-wordcount实例展示了Storm的基本工作原理和实时流处理能力,通过这个实例,开发者可以快速理解Storm的架构和编程模型,为进一步学习和应用Storm打下坚实基础。在实际项目中,我们可以借鉴storm-...
在本集成示例中,我们将探讨如何将Spring Boot与Apache Spark 2.4.4以及Scala 2.12版本相结合,实现一个简单的"Hello World"应用。Spring Boot以其便捷的微服务开发能力,而Apache Spark是大数据处理领域中的一员...
[AWS CLI] ( ) [SBT] ( )建造开始使用 Spark 开发环境 git clone https://github.com/abhibond/spark-emr-example.gitcd spark-emr-examplesbt assembly跑步在本地运行 YOUR_SPARK_HOME/bin/spark-submit \--class ...
在大数据处理领域,Apache Spark作为一个快速、通用且可扩展的计算框架,被广泛...这个简单的Wordcount示例只是Spark功能的冰山一角,Spark还支持更复杂的操作,如图计算、机器学习等,能够满足各种大数据处理需求。
Eclipse+Maven+Scala Project+Spark | 编译并打包wordcount程序 学习用Eclipse+Maven来构建并打包一个简单的单词统计的例程。 第一步 在EclipseIDE中安装Scala插件 在Eclipse中安装Scala插件 第二步 创建Scala ...
Spark笔记1.docx Spark 是什么? Spark 是一个基于内存的统一分析引擎,用于大规模数据处理,包括离线计算、实时计算和快速查询(交互式查询)。它具有快、易用和通用等特点,可以进行离线计算、交互式查询、实时...
1. **Spark 的关键特征**: - **内存计算**:Spark 通过在内存中存储数据,减少了磁盘I/O,显著提升了处理速度。 - **易用性**:Spark 提供了丰富的API,支持Java、Scala、Python和R语言,便于开发。 - **弹性**...
采用java实现的spark的wordcount单词技术的程序.可以跑通。