`

spark-学习笔记--1 wordcount

 
阅读更多

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();
	}
}

 

 

分享到:
评论

相关推荐

    spark-1.6.0-bin-hadoop2.4.tgz

    4. **MLlib**:Spark的机器学习库,包含了各种常见的机器学习算法,如分类、回归、聚类、协同过滤等,以及模型选择和评估工具。 5. **GraphX**:用于图计算,提供了一种表示和操作图形数据的API,支持图形分析和并行...

    spark-1.3.1-bin-hadoop2.6.tgz

    Spark自带了一些样例程序,例如WordCount,可以通过`bin/spark-submit`命令提交作业到集群运行。 6. **开发和交互** - **Scala**:Spark的原生编程语言,可以编写Spark应用。 - **PySpark**:Python接口,提供与...

    spark下实现wordcount

    ### Spark 下实现 WordCount #### 一、简介 在大数据处理领域,Apache Spark 是一个非常流行的框架,它能够高效地处理大规模数据集。WordCount 是一个经典的示例程序,用于统计文本文件中每个单词出现的次数。本篇...

    spark-streaming-wordcount-on-nifi:nifi上的流媒体单词计数

    快速开始安装Apache nifi(来自 ) 安装Apache Spark(来自 ) 克隆此存储库并进行构建$ git clone git@github.com:emethk/spark-streaming-wordcount-on-nifi.git$ cd spark-streaming-wordcount-on-nifi$ sbt ...

    大数据Spark入门到精通v3.0版

    009 - Spark框架 - 快速上手 - WordCount - Spark的实现.avi 010 - Spark框架 - 快速上手 - WordCount - 日志和错误.avi 011 - Spark框架 - 运行环境 - 本地环境 - 基本配置和操作.avi 012 - Spark框架 - 运行环境 -...

    flink-wordcount-demo01-1.0-SNAPSHOT.jar

    flink wordcount 测试程序,包含流处理和批处理 无界流处理测试启动类:org.flink.study.practice01.StreamWordCount 启动参数:--isNetcat true --host 192.168.116.10 --port 9999

    Spark-通过 API实现WordCount案例的数据集和jar包

    下载资料后,免费获取数据集和jar包

    WordCount_Spark!_spark_wordcount_java_

    总结,Spark上的WordCount程序是理解和学习Spark基础操作的好起点。通过这个简单的例子,我们可以深入理解Spark的工作原理,以及如何在Java环境中编写并执行Spark任务。在实际应用中,这些基本操作可以扩展到更复杂...

    spark-examples

    火花示例 建造 制作罐子: mvn package 运行和测试 将 inputfile.txt 上传到 hdfs: ... spark-submit --class com.javachen.spark.wordcount.JavaWordCount --master local \ spark-examples-0.

    第四章Spark的集成开发环境使用到的组件包和jar包.zip

    本压缩包包含: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 最简单WordCount** Spark是一款高性能的分布式计算框架,主要设计用于大数据处理。它提供了弹性分布式数据集(RDD)...在实际应用中,Spark可用于更复杂的分布式数据处理任务,如机器学习、图计算和流处理等。

    Spark简单测试案例

    ### Spark简单测试案例 #### 一、测试环境 在本案例中,我们将使用特定的环境配置来进行测试。...通过学习这个案例,可以帮助读者更好地理解 Spark 的基本操作以及如何在实际场景中应用 Spark 进行大规模数据处理。

    storm-wordcount例子

    总结起来,storm-wordcount实例展示了Storm的基本工作原理和实时流处理能力,通过这个实例,开发者可以快速理解Storm的架构和编程模型,为进一步学习和应用Storm打下坚实基础。在实际项目中,我们可以借鉴storm-...

    Springboot 结合Apache Spark 2.4.4与Scala 2.12 集成示例

    在本集成示例中,我们将探讨如何将Spring Boot与Apache Spark 2.4.4以及Scala 2.12版本相结合,实现一个简单的"Hello World"应用。Spring Boot以其便捷的微服务开发能力,而Apache Spark是大数据处理领域中的一员...

    spark-emr-example:在 EMR 上开始使用 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 ...

    Java实现Spark词配对Wordcount计数代码实现

    在大数据处理领域,Apache Spark作为一个快速、通用且可扩展的计算框架,被广泛...这个简单的Wordcount示例只是Spark功能的冰山一角,Spark还支持更复杂的操作,如图计算、机器学习等,能够满足各种大数据处理需求。

    Spark-wordcount:spark wordcount示例| 在Eclipse + Maven + Scala Project + Spark中构建

    Eclipse+Maven+Scala Project+Spark | 编译并打包wordcount程序 学习用Eclipse+Maven来构建并打包一个简单的单词统计的例程。 第一步 在EclipseIDE中安装Scala插件 在Eclipse中安装Scala插件 第二步 创建Scala ...

    Spark笔记1.docx

    Spark笔记1.docx Spark 是什么? Spark 是一个基于内存的统一分析引擎,用于大规模数据处理,包括离线计算、实时计算和快速查询(交互式查询)。它具有快、易用和通用等特点,可以进行离线计算、交互式查询、实时...

    spark学习笔记,完成于2022年04月13日

    1. **Spark 的关键特征**: - **内存计算**:Spark 通过在内存中存储数据,减少了磁盘I/O,显著提升了处理速度。 - **易用性**:Spark 提供了丰富的API,支持Java、Scala、Python和R语言,便于开发。 - **弹性**...

    java实现的spark的wordcount单词技术程序

    采用java实现的spark的wordcount单词技术的程序.可以跑通。

Global site tag (gtag.js) - Google Analytics