`
m635674608
  • 浏览: 5028715 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Spark Shell各种操作及详细说明

 
阅读更多
  • 并行化scala集合(Parallelize)

 

//加载数据1~10

val num=sc.parallelize(1 to 10)

//每个数据项乘以2,注意 _*2记为一个函数(fun)

val doublenum = num.map(_*2)

//内存缓存数据

doublenum.cache()

//过滤数据,每个数据项 % 3 为0的数据为结果集;

val threenum = doublenum.filter(_ % 3 == 0)

//释放缓存

threenum.unpersist()

//出发action操作根据前面的步骤构建DAG并执行,以数据的形式返回结果集;

threenum.collect

//返回结果集中的第一个元素

threenum.first

//返回结果集中的前三个元素

threenum.take(3)

//对数据集中的元素个数统计

threenum.count

//查看以上步骤经过的RDD转换过程

threenum.toDebugString

结果:

 

  • K-V类型数据演示

// 加载数据

val kv1=sc.parallelize(List(("A",1),("B",2),("C",3),("A",4),("B",5)))

//根据数据集中的每个元素的K值对数据排序

kv1.sortByKey().collect

kv1.groupByKey().collect //根据数据集中的每个元素的K值对数据分组

kv1.reduceByKey(_+_).collect

注意:sortByKey 、groupByKey 、reduceByKey之间的结果集的区别;

val kv2=sc.parallelize(List(("A",4),("A",4),("C",3),("A",4),("B",5)))

kv2.distinct.collect // distinct操作去重

kv1.union(kv2).collect //kv1与kv2联合

kv1.join(kv2).collect //kv1与kv2两个数据连接,相当于表的关联

val kv3=sc.parallelize(List(List(1,2),List(3,4)))

kv3.flatMap(x=>x.map(_+1)).collect //注意这里返回的数据集已经不是K-V类型了

 

  • HDFS文件操作演示

先将clk.tsv和reg.tsv文件上传到hdfs,文件格式如下;

 

// 定义一个对日期格式化的常量

val format = new java.text.SimpleDateFormat("yyyy-MM-dd")

// scala语法,定义Register类(根据reg.tsv数据格式)

case class Register (d: java.util.Date, uuid: String, cust_id: String, lat: Float,lng: Float)

// scala语法,定义Click类(根据clk.tsv数据格式)

case class Click (d: java.util.Date, uuid: String, landing_page: Int)

// 加载hdfs上的文件reg.tsv并将每行数据转换为Register对象;

val reg = sc.textFile("hdfs://chenx:9000/week2/join/reg.tsv").map(_.split("\t")).map(r => (r(1), Register(format.parse(r(0)), r(1), r(2), r(3).toFloat, r(4).toFloat)))

// 加载hdfs上的文件clk.tsv并将每行数据转换为Click对象;

val clk = sc.textFile("hdfs://chenx:9000/week2/join/clk.tsv").map(_.split("\t")).map(c => (c(1), Click(format.parse(c(0)), c(1), c(2).trim.toInt)))

reg.join(clk).collect

 

 

http://www.cnblogs.com/jianyuan/p/4004486.html?utm_source=tuicool&utm_medium=referral

分享到:
评论

相关推荐

    CDH上安装spark2的操作说明

    ### CDH上安装Spark2的操作说明 #### 一、引言 随着大数据处理技术的不断发展,Apache Spark作为一款快速、通用的大数据处理引擎,在实际应用中的需求也日益增长。为了更好地利用Spark的强大功能,有时我们需要在...

    《Spark编程基础及项目实践》课后习题及答案7.pdf

    3. **Spark Shell操作**: - **创建图**:在Spark Shell中,可以使用`sc.textFile`读取文本数据,然后通过`map`函数处理数据,构建`Edge`对象,最后通过`Graph.fromEdges`创建图。示例代码展示了如何从文本文件生成...

    基于scala语言的spark操作,包含连接操作mysql,连接hdfs.zip

    以下是相关知识点的详细说明: **1. Scala 语言基础** Scala 是一种多范式编程语言,融合了面向对象和函数式编程的概念。它的静态类型系统和强类型检查确保了代码的稳定性和安全性。在 Spark 中,Scala API 提供了...

    大数据平台spark组件说明书

    综上所述,Spark是一个强大的大数据处理工具,尤其在内存计算和实时流处理方面具有显著优势,适用于各种大数据应用场景。了解和掌握Spark的基础应用对于大数据领域的从业者至关重要,它可以帮助我们更高效地处理和...

    Spark安装使用教程PDF

    使用 SparkShell,可以快速地执行 RDD 操作和数据处理任务。要启动 SparkShell,需要使用 pyspark 命令。在 Ubuntu16.04 系统中,需要使用 export PYSPARK_PYTHON=python3 命令来指定 Python 版本。 4. ...

    spark2 安装教程

    3. **操作系统**:Linux 操作系统,本文以 Ubuntu 为例进行说明。 #### 三、下载 Spark 2.1.0 首先,需要从 Apache 官方网站下载 Spark 2.1.0 版本。根据实际情况选择合适的压缩包,例如 `spark-2.1.0-bin-hadoop...

    spark-3.1.2.tgz & spark-3.1.2-bin-hadoop2.7.tgz.rar

    - Spark-3.1.2-bin-hadoop2.7版本说明Spark与Hadoop 2.7兼容。Hadoop是另一个开源的大数据处理框架,主要负责数据存储(HDFS)和作业调度(YARN)。Spark可以与Hadoop生态系统无缝集成,利用HDFS作为数据源,并且...

    Spark官方文档指南chm版本

    另外,Spark的容错机制,如检查点和宽依赖的重新计算,也会有详细的说明。 最后,文档可能还会包含Spark MLlib机器学习库的使用方法,包括各种监督和无监督学习算法,以及图形处理库Gelly的介绍,用于图数据的分析...

    实验八、Spark的安装与使用.doc

    2. 参考文档说明,选择单机模式,spark 也可以单独运行。 3. bin 目录下,./spark-shell 运行。 4. 执行 Scala 代码,注意双引号格式。 五、实验分析 本实验中,我们学习了 Spark 的安装与使用,了解了 Spark 的...

    大数据技术实践——Spark词频统计

    4. **执行与分析**:在spark-shell中运行程序,观察执行过程,理解Spark如何处理数据。 **五、数据集说明** 本实践使用的数据集是一个小规模的文本数据,包含多行文本,如"How nice I love Spark I love Hadoop How...

    spark1.1快速上手

    本篇文档主要介绍了如何快速上手Spark 1.1,使用spark-shell进行交互式操作,以及如何使用Spark API编写并运行一个简单的程序在集群上执行。 首先,文档提到了如何启动Spark Shell。启动单机版的spark-shell很简单...

    Ubuntu下安装spark.pdf

    在Ubuntu操作系统中安装Apache Spark的过程涉及到一系列详细的步骤,需要按照既定的顺序进行操作。下面是根据给定文件内容整理出来的知识点: 首先,需要了解Apache Spark是一个快速的、开源的分布式计算系统,它...

    spark-programming-guide(Spark 编程指南)-高清文字版

    - **RDD操作**:详细说明RDD上的操作类型,分为转换(Transformation)和行动(Action)。转换是指创建新的RDD的操作,而行动则是触发计算并将结果返回到驱动器程序或保存到外部存储系统。 - **传递函数到Spark**:...

    spark-文档资料包.zip

    - **RDD编程指南**:详细讲解RDD的创建、转换和行动操作,以及如何使用Spark Shell进行交互式探索。 - **Spark SQL和DataFrame**:说明如何定义DataFrame,执行SQL查询,以及DataFrame与RDD之间的关系。 - **Spark ...

    flink+hbase+spark_linux.rar

    标题中的"flink+hbase+spark_linux.rar"表明这是一个关于大数据处理框架Flink、分布式数据库HBase以及大数据处理引擎Spark在Linux操作系统环境下的综合应用。这个压缩包可能包含相关的配置文件、示例代码、教程文档...

    Windows安装Spark 需要用到的包

    这里我们将详细探讨如何在Windows操作系统上安装Spark,并重点介绍如何处理Hadoop的相关部分。 首先,Apache Spark提供了跨平台的兼容性,包括Windows。然而,Windows不是Spark的默认开发环境,因为它主要针对Linux...

    使用spark 对文本分词统计

    标签“源码”和“工具”暗示了这篇博文可能包含实际的代码示例,可能是通过展示一个简单的Spark应用来说明如何操作,同时也可能会介绍一些用于分词和统计的工具或库。 在压缩包子文件的文件名列表中,“pom.xml”是...

    spark安装配置教程.docx

    1. **执行spark-shell**:如果Spark成功启动并进入了Scala REPL环境,则说明Spark已经安装成功。 2. **测试操作**:在Spark REPL环境中执行一些简单的Spark操作,如读取文件、进行转换和行动操作等,以进一步验证...

    Spark开发指南.pdf

    - 启动 Spark-shell: `spark-shell` - 创建 HiveContext 对象: `val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)` - 创建表格: `sqlContext.sql("CREATE TABLE ...")` #### 四、集群外部机器...

Global site tag (gtag.js) - Google Analytics