-
并行化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的操作说明 #### 一、引言 随着大数据处理技术的不断发展,Apache Spark作为一款快速、通用的大数据处理引擎,在实际应用中的需求也日益增长。为了更好地利用Spark的强大功能,有时我们需要在...
3. **Spark Shell操作**: - **创建图**:在Spark Shell中,可以使用`sc.textFile`读取文本数据,然后通过`map`函数处理数据,构建`Edge`对象,最后通过`Graph.fromEdges`创建图。示例代码展示了如何从文本文件生成...
以下是相关知识点的详细说明: **1. Scala 语言基础** Scala 是一种多范式编程语言,融合了面向对象和函数式编程的概念。它的静态类型系统和强类型检查确保了代码的稳定性和安全性。在 Spark 中,Scala API 提供了...
综上所述,Spark是一个强大的大数据处理工具,尤其在内存计算和实时流处理方面具有显著优势,适用于各种大数据应用场景。了解和掌握Spark的基础应用对于大数据领域的从业者至关重要,它可以帮助我们更高效地处理和...
使用 SparkShell,可以快速地执行 RDD 操作和数据处理任务。要启动 SparkShell,需要使用 pyspark 命令。在 Ubuntu16.04 系统中,需要使用 export PYSPARK_PYTHON=python3 命令来指定 Python 版本。 4. ...
3. **操作系统**:Linux 操作系统,本文以 Ubuntu 为例进行说明。 #### 三、下载 Spark 2.1.0 首先,需要从 Apache 官方网站下载 Spark 2.1.0 版本。根据实际情况选择合适的压缩包,例如 `spark-2.1.0-bin-hadoop...
- Spark-3.1.2-bin-hadoop2.7版本说明Spark与Hadoop 2.7兼容。Hadoop是另一个开源的大数据处理框架,主要负责数据存储(HDFS)和作业调度(YARN)。Spark可以与Hadoop生态系统无缝集成,利用HDFS作为数据源,并且...
另外,Spark的容错机制,如检查点和宽依赖的重新计算,也会有详细的说明。 最后,文档可能还会包含Spark MLlib机器学习库的使用方法,包括各种监督和无监督学习算法,以及图形处理库Gelly的介绍,用于图数据的分析...
2. 参考文档说明,选择单机模式,spark 也可以单独运行。 3. bin 目录下,./spark-shell 运行。 4. 执行 Scala 代码,注意双引号格式。 五、实验分析 本实验中,我们学习了 Spark 的安装与使用,了解了 Spark 的...
4. **执行与分析**:在spark-shell中运行程序,观察执行过程,理解Spark如何处理数据。 **五、数据集说明** 本实践使用的数据集是一个小规模的文本数据,包含多行文本,如"How nice I love Spark I love Hadoop How...
本篇文档主要介绍了如何快速上手Spark 1.1,使用spark-shell进行交互式操作,以及如何使用Spark API编写并运行一个简单的程序在集群上执行。 首先,文档提到了如何启动Spark Shell。启动单机版的spark-shell很简单...
在Ubuntu操作系统中安装Apache Spark的过程涉及到一系列详细的步骤,需要按照既定的顺序进行操作。下面是根据给定文件内容整理出来的知识点: 首先,需要了解Apache Spark是一个快速的、开源的分布式计算系统,它...
- **RDD操作**:详细说明RDD上的操作类型,分为转换(Transformation)和行动(Action)。转换是指创建新的RDD的操作,而行动则是触发计算并将结果返回到驱动器程序或保存到外部存储系统。 - **传递函数到Spark**:...
- **RDD编程指南**:详细讲解RDD的创建、转换和行动操作,以及如何使用Spark Shell进行交互式探索。 - **Spark SQL和DataFrame**:说明如何定义DataFrame,执行SQL查询,以及DataFrame与RDD之间的关系。 - **Spark ...
标题中的"flink+hbase+spark_linux.rar"表明这是一个关于大数据处理框架Flink、分布式数据库HBase以及大数据处理引擎Spark在Linux操作系统环境下的综合应用。这个压缩包可能包含相关的配置文件、示例代码、教程文档...
这里我们将详细探讨如何在Windows操作系统上安装Spark,并重点介绍如何处理Hadoop的相关部分。 首先,Apache Spark提供了跨平台的兼容性,包括Windows。然而,Windows不是Spark的默认开发环境,因为它主要针对Linux...
标签“源码”和“工具”暗示了这篇博文可能包含实际的代码示例,可能是通过展示一个简单的Spark应用来说明如何操作,同时也可能会介绍一些用于分词和统计的工具或库。 在压缩包子文件的文件名列表中,“pom.xml”是...
1. **执行spark-shell**:如果Spark成功启动并进入了Scala REPL环境,则说明Spark已经安装成功。 2. **测试操作**:在Spark REPL环境中执行一些简单的Spark操作,如读取文件、进行转换和行动操作等,以进一步验证...
- 启动 Spark-shell: `spark-shell` - 创建 HiveContext 对象: `val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)` - 创建表格: `sqlContext.sql("CREATE TABLE ...")` #### 四、集群外部机器...