spark

Spark学习笔记-GraphX-1

China☆狼群 提交于 2020-03-07 11:58:16
Spark学习笔记-GraphX-1 标签: Spark Graph GraphX 图计算 2014-09-29 13:04 2339人阅读 评论 (0) 收藏 举报 分类: Spark (8) 版权声明:本文为博主原创文章,未经博主允许不得转载。 Spark GraphX是一个分布式图处理框架,Spark GraphX基于Spark平台提供对图计算和图挖掘简洁易用的而丰富多彩的接口,极大的方便了大家对分布式图处理的需求。 Spark GraphX由于底层是基于Spark来处理的,所以天然就是一个分布式的图处理系统。 图的分布式或者并行处理其实是把这张图拆分成很多的子图,然后我们分别对这些子图进行计算,计算的时候可以分别迭代进行分阶段的计算,即对图进行并行计算。 Spark GraphX基本操作: [plain] view plain copy import org.apache.spark.SparkContext import org.apache.spark._ import org.apache.spark.graphx._ import org.apache.spark.graphx.Graph import org.apache.spark.graphx.Edge import org.apache.spark.graphx.VertexRDD import org

Spark源码系列(二)RDD详解

十年热恋 提交于 2020-03-07 11:57:40
1、什么是RDD? 上一章讲了Spark提交作业的过程,这一章我们要讲RDD。简单的讲,RDD就是Spark的input,知道input是啥吧,就是输入的数据。 RDD的全名是Resilient Distributed Dataset,意思是容错的分布式数据集,每一个RDD都会有5个特征: 1、有一个分片列表。就是能被切分,和hadoop一样的,能够切分的数据才能并行计算。 2、有一个函数计算每一个分片,这里指的是下面会提到的compute函数。 3、对其他的RDD的依赖列表,依赖还具体分为宽依赖和窄依赖,但并不是所有的RDD都有依赖。 4、可选:key-value型的RDD是根据哈希来分区的,类似于mapreduce当中的Paritioner接口,控制key分到哪个reduce。 5、可选:每一个分片的优先计算位置(preferred locations),比如HDFS的block的所在位置应该是优先计算的位置。 对应着上面这几点,我们在RDD里面能找到这4个方法和1个属性,别着急,下面我们会慢慢展开说这5个东东。 //只计算一次 protected def getPartitions: Array[Partition] //对一个分片进行计算,得出一个可遍历的结果 def compute(split: Partition, context: TaskContext):

spark 应用场景2-身高统计

血红的双手。 提交于 2020-03-07 11:54:25
原文引自:http://blog.csdn.net/fengzhimohan/article/details/78564610 a. 案例描述 本案例假设我们需要对某个省的人口 (10万) 性别还有身高进行统计,需要计算出男女人数,男性中的最高和最低身高,以及女性中的最高和最低身高。本案例中用到的源文件有以下格式, 三列分别是 ID,性别,身高 (cm),格式如下: b.人口数据的生成 利用Java语言随机生成一组人口数据,包括序列ID,性别M/F,身高cm,代码如下: 1 import java.io.File; 2 import java.io.FileWriter; 3 import java.io.IOException; 4 import java.util.Random; 5 6 /** 7 * Created by Administrator on 2017/11/13. 8 */ 9 public class PeopleInfoFileGenerator { 10 public static void main(String[] args){ 11 File file = new File("F:\\PeopleInfo.txt"); 12 13 try { 14 Random random = new Random();//生成随机数 15 FileWriter

Unable to instantiate SparkSession with Hive support because Hive classes are not found

爷,独闯天下 提交于 2020-03-07 02:52:06
< ! -- https : / / mvnrepository . com / artifact / org . apache . spark / spark - hive -- > < dependency > < groupId > org . apache . spark < / groupId > < artifactId > spark - hive_2 . 11 < / artifactId > < version > 2.2 .0 < / version > < scope > provided < / scope > < / dependency > 将 <scope>provided</scope> 删除 < dependency > < groupId > org . apache . spark < / groupId > < artifactId > spark - hive_2 . 11 < / artifactId > < version > 2.2 .0 < / version > < / dependency > 来源: CSDN 作者: 余崇富 链接: https://blog.csdn.net/qq_33598343/article/details/104704049

spark学习

回眸只為那壹抹淺笑 提交于 2020-03-06 22:32:54
spark 简介 减低了维护成本 spark 生态 应用于机器学习 spark与hadoop 比较 hadoop场景:离线处理,对时效性要求不高 spark应用场景:时效性要求高的场景,机器学习等领域 spark 安装 scala-shell 例子 lines.count() 获取总数, first() 返回第一行 可以减少信息的输出显示 scala 安装 使用idea 编写 scala sbt 是打包的一个工具 sbt 的安装 https://www.cnblogs.com/lenmom/p/10376391.html 还有就是 使用idea 初次构建工程的时候,初始化要下载一下资源包, 可能因为网络的问题不能下载下来,不防多重试几次说不定就全部下载下来了。 安装参考 http://www.pianshen.com/article/2857147020/ https://blog.csdn.net/sgyuanshi/article/details/93314355 https://my.oschina.net/jamesju/blog/83659 开发spark demo 如果提交作业失败,可能是是spart的对应的scala 版本问题 参考 : https://blog.csdn.net/qq_36835255/article/details/89960637 RDDs

附录A 编译安装Hadoop

对着背影说爱祢 提交于 2020-03-06 10:34:51
A.1 编译 Hadoop A.1.1 搭建环境 第一步 安装并设置 maven 1. 下载 maven 安装包 建议安装 3.0 以上版本(由于 Spark2.0 编译要求 Maven3.3.9 及以上版本),本次安装选择的是 maven3.3.9 的二进制包,下载地址如下: http://mirror.bit.edu.cn/apache/maven/maven-3/ 2. 上传 git 并解压缩 把下载的 maven 安装包上传到 /home/spark/work 目录 , 使用如下命令解压缩并把文件夹移动到 /app/soft 目录下: $cd /home/spark/work $tar -zxf apache-maven-3.3.9-bin.tar.gz $mv maven-3.3.9 /app/soft $ll /app/soft 3. 编译安装 在 /etc/profile 配置文件中加入如下设置: export PATH=/app/soft/maven-3.3.9/bin:$PATH 修改 /etc/profile 配置文件并验证配置是否成功: $source /etc/profile $mvn -version 图 附录 A‑ 1 查看 Maven 是否安装成功 第二步 使用 yum 安装必要软件 以 root 用户使用 yum 安装 svn 、 gcc

Spark基础(4)共享变量

南笙酒味 提交于 2020-03-06 09:11:12
广播变量 广播变量(broadcast variables)允许程序开发人员在每个机器上面缓存一个只读的变量,而不是为机器上的每个任务都生成一个副本。 spark的“行动”操作会跨越多个阶段(stage),对于每个阶段内的所有任务所需要的公共数据,Spark都会自动进行广播。 可以通过SparkContext.broadcast(v)来从一个普通变量v中创建一个广播变量。这个广播变量就是对普通变量v的一个包装器,通过调用value方法可以获得这个广播变量的值。 scala> val broadcastVar = sc.broadcast(Array(1,2,3)) scala> broadcastVar.value res0:Array[Int] = Array(1,2,3) 广播变量被创建后,在集群中的任何函数中,都应该使用广播变量broadcastVar的值,而不是使用v的值,这样就不会把v重复分发到这些节点上。此外,一旦广播变量创建后,普通变量v的值就不能再发生修改,从而确保所有节点都获得广播变量的值是相同的。 完整程序: import org.apache.spark.SparkConf import org.apache.spark.SparkContext object BroadCastValue{ def main(args:Array[String]):Unit=

spark 2.4安装

假如想象 提交于 2020-03-05 08:14:29
1、spark 官网选择对应Hadoop的版本,之前安装的Hadoop版本为hadoop-3.0.2,获取下载包: wget http://mirrors.hust.edu.cn/apache/spark/spark-2.4.0/spark-2.4.0-bin-hadoop2.7.tgz 2、解压缩安装包,创建软连接: tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz ln -s spark-2.4.0-bin-hadoop2.7 spark 3、配置spark,进入conf目录: 1)、配置spark-env.sh 文件 先拷贝:cp spark-env.sh.template spark-env.sh 文件增加内容如下: export JAVA_HOME=/usr/local/src/jdk1.8.0_191 #Java环境变量 export SCALA_HOME=/usr/local/src/scala/scala-2.12.7 #SCALA环境变量 export SPARK_WORKING_MEMORY=521m #每一个worker节点上可用的最大内存 export SPARK_MASTER_IP=master #驱动器节点IP export HADOOP_HOME=/usr/local/src/hadoop-3.0.2 #Hadoop路径

idea构建spark开发环境,并本地运行wordcount

邮差的信 提交于 2020-03-05 07:26:00
1、首先现在idea,官网:https://www.jetbrains.com/idea/ 2、安装jdk1.8,scala2.11 3、下载idea后,需要在idea中安装scala的插件,安装的方式如下: File--->settings--->Plugins--->输入scala(下图是我已经安装好了) 3、配置spark依赖包 下载spark相关的包spark-2.1.1-bin-hadoop2.7.tgz 并将spark相关的jars依赖包添加到项目的library中,具体操作如下: 选中项目,按F4 添加依赖包如下所示:(注意后面必须是Compile) 4、出现的问题: (1)Error:(9, 8) App is already defined as object App object App {} 这种问题是因为设置了多个source。只需要src为source即可。 来源: https://www.cnblogs.com/ljy2013/p/9322165.html

spark2.1源码分析1:Win10下IDEA源码阅读环境的搭建

有些话、适合烂在心里 提交于 2020-03-04 16:53:41
环境:win10、IDEA2016.3、maven3.3.9、git、scala 2.11.8、java1.8.0_101、sbt0.13.12 下载: #git bash中执行: git clone https://github.com/apache/spark.git git tag git checkout v2.1.0-rc5 git checkout -b v2.1.0-rc5 导入IDEA,开始调试: file–open–选中根目录pom.xml,open as project 编译: 等待IDEA index文件完成 打开Maven Project–Profiles–勾选:hadoop-2.6、yarn 点击import changes,再次等待IDEA index文件完成 Maven Project–Generate Sources and Update Folders For All Projects mvn -T 6 -Pyarn -Phadoop-2.6 -DskipTests clean package bin/spark-shell 错误: Exception in thread "main" java.lang.ExceptionInInitializerError at org.apache.spark.package$.<init>(package