Spark
文章平均质量分 80
煉心_
永遠的初級程序員...
展开
-
Spark命令行测试转换RDD to DataFrame报Relative path in absolute URI错误-Win7
无聊玩了一下Spark命令行模式的命令,测试读写Parquet格式的操作,发现执行personRDD.toDF时候报以下错误:org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadat原创 2016-09-14 16:32:23 · 3612 阅读 · 0 评论 -
Spark编程指南入门之Java篇七-共享变量
11. 共享变量通常情况下,当一个传递给Spark操作的函数(例如map或者reduce)在远程集群节点执行时,函数使用的所有变量都是原变量的副本。这些变量被复制到集群的每一台服务器,在各个远程服务器更新的变量是不会更新回驱动节点程序的。不同任务读写共享变量的效率是比较低的,然而,Spark提供了2种限制类型的共享变量,广播变量和累加器。11.1 广播变量广播变量允许编程者原创 2017-01-20 09:33:49 · 1702 阅读 · 0 评论 -
org.apache.spark.shuffle.FetchFailedException:Failed to connect to异常
最近在做Spark的性能优化,测试使用不同CPU核数和内存对计算性能的影响,由于是在测试集群进行测试的,硬件配置比生产上面的要少和低,遇到了不少的问题,其中一个值得说一下的就是org.apache.spark.shuffle.FetchFailedException:Failed to connect to /xxx:433011. 运行环境1.1 硬件3台服务器,分别原创 2017-08-01 00:41:17 · 14743 阅读 · 0 评论 -
Spark编程指南入门之Java篇二-基本操作
4. RDD的操作4.1 基本操作RDD有2种类型的操作,一种是转换transformations,它基于一个存在的数据集创建出一个新的数据集;另一种是行动actions,它通过对一个存在的数据集进行运算得出结果。例如,map方法是转换操作,它将数据集的每一个元素按指定的函数转换为一个新的RDD;reduce方法是行动操作,它将数据集的所有元素按指定的函数进行聚合运算得出结果给驱动原创 2016-12-27 16:03:12 · 4838 阅读 · 2 评论 -
当对象包含嵌套对象时,使用Spark SQL执行sql查询抛出scala.MatchError异常
1. 运行环境本文使用Spark SQL 2.1.0版本2. 使用代码例如有个对象,除了包含简单的基本数据String,int之外还包含一个Location对象,就是所说的嵌套对象:import java.io.Serializable;public class Person implements Serializable { private static原创 2017-04-13 09:44:49 · 6754 阅读 · 0 评论 -
SparkSQL编程指南之Java篇三-数据源(下)
4. Hive TablesSpark SQL支持对Hive的读写操作。然而因为Hive有很多依赖包,所以这些依赖包没有包含在默认的Spark包里面。如果Hive依赖的包能在classpath找到,Spark将会自动加载它们。需要注意的是,这些Hive依赖包必须复制到所有的工作节点上,因为它们为了能够访问存储在Hive的数据,会调用Hive的序列化和反序列化(SerDes)包。Hive的配原创 2017-03-10 14:09:35 · 6172 阅读 · 5 评论 -
SparkSQL编程指南之Java篇二-数据源(上)
Spark SQL通过DataFrame接口支持各种不同数据源的操作。一个DataFrame可以进行相关的转换操作,也可以用于创建临时视图。注册DataFrame为一个临时视图可以允许你对其数据执行SQL查询。本文首先会介绍使用Spark数据源加载和保存数据的一般方法,然后对内置数据源进行详细介绍。1. 一般的Load/Save方法Spark SQL最简单的也是默认的数据源格式是P原创 2017-03-10 11:11:41 · 2070 阅读 · 0 评论 -
java.net.SocketTimeoutException: 60000 millis timeout while waiting for channel to be ready for read
环境:- Spark 2.11-2.0.2- Hadoop 2.6.5使用Spark连接HDFS,在高并发的时候,偶尔会遇到以下异常:2017-01-26 10:30:29,079 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: xxx:50010:DataXceiver error processing W原创 2017-02-04 10:04:07 · 25831 阅读 · 0 评论 -
java.lang.NoSuchMethodError: org.apache.hadoop.fs.FSOutputSummer.<init>(Ljava/util/zip/Checksum;II)V
环境:- Spark 2.11-2.0.2版本(在Eclipse下面使用Maven引入spark-core_2.11-2.0.2.jar)- Hadoop 2.6.5版本使用Spark的Java APIs(saveAsTextFile方法)把大量的日志导入远程的HDFS,遇到下面的java.lang.NoSuchMethodError: org.apache.hadoo原创 2017-01-16 15:56:01 · 3274 阅读 · 0 评论 -
Spark集群安装配置步骤
本文使用3台测试服务器,下面是各服务器的角色:- node1:Worker- node2:Worker- node3:Master, Worker1. 配置hosts文件本文使用RedHat是在 /etc/hosts,新增3台测试服务器的ip/hostname对应关系(根据服务器实际情况修改下面的值):$ vi /etc/hostsxxx.100 n原创 2017-02-10 13:48:23 · 5033 阅读 · 0 评论 -
Spark编程指南入门之Java篇六-RDD持久化介绍
10. RDD持久化Spark其中一个重要的功能是持久化(或缓存)数据到内存。当持久化一个RDD时,每一个节点会把计算后的分区数据保存在内存里面,然后后续的操作可以直接重用内存里的数据。这样可以提高后续操作的计算速度(通常是10倍以上)。缓存是迭代算法和快速交互式使用的关键工具。RDD的持久化可以使用persist()或者cache()方法,数据会在第一次计算后缓存在各节点的内存里原创 2017-01-12 16:47:16 · 1642 阅读 · 0 评论 -
SparkSQL编程指南之Java篇一-入门
1. Spark SQL的Java开发包Spark SQL提供Java的开发包,当前最新版本是2.1.0版本:spark-sql_2.11-2.1.0.jar,可以从下面链接下载:http://central.maven.org/maven2/org/apache/spark/spark-sql_2.11/2.1.0/spark-sql_2.11-2.1.0.jar或者通过原创 2017-02-16 14:24:29 · 18427 阅读 · 0 评论 -
Spark编程指南入门之Java篇五-数据重组Shuffle介绍
9. 数据重组Shuffle介绍Spark的某些操作会触发数据重组Shuffle事件。Shuffle是Spark对各分区的数据进行重新分布的机制,是一个复杂而且代价较高的操作,因为一般需要在执行器和数据节点之间进行数据复制。9.1 背景我们可以通过reduceByKey操作的例子来理解shuffle过程。reduceByKey操作将原PairRDD中具有相同key的元素聚合原创 2017-01-11 15:55:46 · 1596 阅读 · 1 评论 -
Spark编程指南入门之Java篇四-常用Actions操作
8. 常用的Actions操作T reduce(Function2 f) 使用指定的函数f聚合数据集中的元素,该函数把数据集中的每2个元素聚合成一个,一直递归直到得出最后一个元素java.util.List collect() 以List形式返回数据集的所有元素到驱动程序节点,通常用于filter或其它返回足够少数据的操作之后long count() 返回数据集中元素的个数原创 2017-01-10 11:57:52 · 1427 阅读 · 0 评论 -
Spark编程指南入门之Java篇三-常用Transformations操作
7. 常用的转换Transformations操作JavaRDD map(Function f) 将数据集的每一个元素按指定的函数f转换为一个新的RDDJavaRDD filter(Function f) 对数据集中的元素进行过滤,将符合指定函数f条件的元素组成为一个新的RDDJavaRDD flatMap(FlatMapFunction f) 类似于map,但不同的是每个原创 2016-12-28 16:20:18 · 2125 阅读 · 0 评论 -
Spark编程指南入门之Java篇一-基本知识
1. Spark的Java开发包Spark提供Java的开发包,当前最新版本是2.0.2版本:spark-core_2.11-2.0.2.jar,可以从下面链接下载:http://central.maven.org/maven2/org/apache/spark/spark-core_2.11/2.0.2/spark-core_2.11-2.0.2.jar或者通过Maven原创 2016-12-16 16:27:38 · 26182 阅读 · 6 评论 -
Spark下载和配置-Win7
-下载下载页面的link:http://spark.apache.org/downloads.html1,Choose a Spark release 选择需要下载的Spark版本,我这里使用最新的版本2,Choose a package type 选择需要下载的类型,因为我已经安装了Hadoop 2.6版本的,所以我选择对应的Pre-built for Hadoop原创 2016-09-09 14:37:31 · 3052 阅读 · 0 评论 -
Spark升级到2.0后测试stream-kafka测试报java.lang.NoClassDefFoundError: org/apache/spark/Logging错误
- 最近从Spark 1.5.2升级到2.0之后,运行测试代码spark-stream-kafka报以下错误:java.lang.NoClassDefFoundError: org/apache/spark/Logging at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defi原创 2016-09-21 16:28:51 · 15690 阅读 · 53 评论 -
Spark机器学习之协同过滤算法使用-Java篇
协同过滤是普遍用于推荐系统,这些技术旨在填补用户和项目关联矩阵里面缺少的值。Spark目前实现基于模型的协同过滤,其中模型的用户和项目由一组小的潜在因素所描述,可用于预测缺少的值。Spark使用交替最小二乘法alternating least squares(ALS)算法来学习这些潜在因素。1. ALS的参数numBlocks:用户和项目将会被分区的块数,以便并行化计算(默认值为1原创 2017-08-30 17:38:14 · 4077 阅读 · 0 评论