[置顶] Spark排错与优化

此文章新地址一.报错常见错误1.shuffle.FetchFailedException错误提示(1) missing output locationorg.apache.spark.shuffle.MetadataFetchFailedException: Missing an output location for shuffle 0(2) shuffle fetch faildorg.apac...
阅读(32068) 评论(9)

pypy on PySpark

什么是pypy 简单的说,pypy 基于jit静态编译,相比cpython 动态解释执行,因此执行速度上会更高效,同时减少了内存使用。 http://pypy.org对三方包的支持一直是pypy的软肋,特别是一些科学计算包,不过在最新的 pypy5.9 中终于对Pandas和NumPy提供了支持。一个简单的例子: test1:import time t = time.time() i = 0...
阅读(34) 评论(0)

hdfs du -sk 导致机器load高

hdfs 会定期(默认10分钟)使用 du -sk 命令统计BP的大小,在大硬盘机器上该操作耗时将会很长(可能超过10分钟)。这会导致 iowait 以及 load的提升。 例如: 社区为了解决这个问题,主要在两个方面进行了改造: https://issues.apache.org/jira/browse/HADOOP-9884 使用 df 命令替换 du 允许用户自定义检查间隔时间 问题虽然被...
阅读(56) 评论(0)

spark convert RDD[Map] to DataFrame

将RDD[Map[String,String]] 转化为展平 DataFrame,类似于pyspark 中 dict 结构toDF的效果。inputval mapRDD: RDD[Map[String, String]] = sc.parallelize(Seq( Map("name" -> "zhangsan", "age" -> "18", "addr" -> "bj"), Map(...
阅读(100) 评论(0)

spark 应用输出debug日志

问题:yarn container 大量输出debug日志 –> 磁盘写满 –> nodemanager 识别该盘为bad disk -> 停止服务 -> spark task lost 。container stdout:排错过程: 查看log4j文件,查看yarn log 级别, 发现均为正常。 发现driver,executor日志输出表现不一致(driver成功加载,executor表现和配...
阅读(273) 评论(0)

phoenix for cloudera

phoenix for cloudera软件版本:spark 2.0.2 cdh 5.9 phoenix 4.9 (phoenix-spark模块使用4.11)下载CDH版本的phoenix,最新版本目前只有phoenix 4.9,不过在4.10开始才可以使用spark2.0: PHOENIX-3333 这里将phoenix-spark模块换成了4.11的。相应修改根目录pom的配置。git c...
阅读(657) 评论(0)

spark 2.1 读取parquet外部表返回null

背景通过spark2.1读取hive外部表部分字段返回都为null原因外部表数据使用parquet文件存储,parquet文件列名是大小写敏感的,而hive metastore 的信息都是以小写的形式存储。在2.1版本以前spark-sql会对parquet的列名作小写处理2.1更新中在下面的jira中进行了删除:https://issues.apache.org/jira/browse/SPARK...
阅读(546) 评论(0)

网络原因造成 spark task 卡住

主机名映射出错背景:Yarn集群新加入了一批Spark机器后发现运行Spark任务时,一些task会无限卡住且driver端没有任何提示。解决:进入task卡住的节点查看container stderr日志,发现在获取其他节点block信息时,连接不上其他的机器节点,不停重试。 怀疑部分旧节点的/etc/hosts文件被运维更新漏了,查看/etc/hosts,发现没有加入新节点的地址,加入后问...
阅读(814) 评论(0)

spark on yarn部署

软件版本 * spark 2.0.2 * 2.6.0-cdh5.9.0一.配置下载spark2.0.2的源码后在根目录进行编译dev/make-distribution.sh \ -Phive -Phive-thriftserver \ -Dhadoop.version=2.6.0-cdh5.9.0 \ -Dyarn.version=2.6.0-cdh5.9.0 \ --tgz -Pyarn 可...
阅读(1647) 评论(0)

Zeppelin 0.6.2 使用spark2.x 的一些错误处理

zeppelin 从 0.6.1 开始支持 spark2.x ,从0.6.2编译时引入了hadoop-common包用于权限认证,所以会存在一些包冲突导致异常的问题。 编译错误zeppelin-web编译错误Failed to execute goal com.github.eirslett:frontend-maven-plugin:0.0.25:grunt (grunt test) on pro...
阅读(1498) 评论(0)

将代码从 spark 1.x 移植到 spark 2.x

将代码从 spark 1.x 移植到 spark 2.x1. SparkSessionsparkSession可以视为sqlContext和hiveContext以及StreamingContext的结合体,这些Context的API都可以通过sparkSession使用。创建SparkSessionval spark = SparkSession.builder .master("loca...
阅读(2649) 评论(0)

编写Spark测试用例

使用scalaTest工具,用法参考: scalaTest的使用代码src/test/tool/LocalSparkContext.scalaimport org.apache.spark.{SparkConf, SparkContext} import org.scalatest._trait LocalSparkContext extends BeforeAndAfterAll { sel...
阅读(1656) 评论(0)

scalaTest的使用

配置修改pom.xml,添加以下内容 org.scalatest scalatest_2.11 3.0.0 test ...
阅读(1938) 评论(0)

Spark on Mesos cluster mode

cluster modespark cluster mode指的是将driver运行在cluster而不是client中。可以使用surpervise机制,指的是driver会自动的进行失败重试。mesos-dispatcher如果要在mesos中使用cluster模式,必须先开启mesos-dispatcher服务。启动mesos-dispatchersudo -u admin /usr/inst...
阅读(655) 评论(0)

Spark不同Cluster Manager下的数据本地性表现

一. 概述Spark中的数据本地性分为两种 executor 层面的数据本地性 task 层面的数据本地性 在两种本地性中,task层面的数据本地性是由Spark本身决定的,而executor的分发则是Cluter Manager控制的,因此下文主要描述在不同Cluster Manager中的executor分发机制。 Spark Standalone Standalone提供了两种executo...
阅读(1155) 评论(0)

Spark & Livy

简介livy为Spark提供了REST接口,有如下特性: * 提供交互式shell * 批量提交 * 多用户使用用一个服务(用户模拟) * 可以从任何地方使用REST的方式提交 * 无需对代码进行任何修改获取源码,进行编译(如果编译不通过需使用vpn)git clone git@github.com:cloudera/livy.git cd livy-master mvn -Dspark....
阅读(5934) 评论(0)
109条 共8页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:373297次
    • 积分:4353
    • 等级:
    • 排名:第7672名
    • 原创:100篇
    • 转载:9篇
    • 译文:0篇
    • 评论:73条
    个人简介
    邮箱:breeze_lsw@163.com
    简书博客: www.jianshu.com/users/dba7cda12069
    最新评论