随笔分类 - Spark
摘要:总结下Spark中将RDD转换成DataFrame的两种方法, 代码如下: 方法一: 使用 方法 方法二: 使用 方法 注意 请不要将 定义在main 方法中与toDF一起使用,或与使用toDF定义在同一函数中
阅读全文
摘要:@ "TOC" 前言 这个伴生类主要功能是创建/配置ApplicationMaster的应用程序,,准备相关的环境与资源。 Github源码地址:https://github.com/apache/spark/blob/master/resource managers/yarn/src/main/s
阅读全文
摘要:前言 有时候我们在使用Spark中执行Join时候,结果集出现重复的列名,从而导致References ambiguous问题。我们可以用以下方式来解决。 实例 首先模拟一些数据 为了防止出现重复列名的问题,首先可以指定使用哪张表的列,如下: 当然我们也可以使用别名alias: 除此之外,我们还可以
阅读全文
摘要:前言 在Spark中,结构化查询可以通过指定查询提示(hint)来进行优化。 查询提示,即向查询加入注释,告诉查询优化器提供如何优化逻辑计划, 这在查询优化器无法做出最佳决策时十分有用。 Spark SQL支持COALESCE,REPARTITION以及BROADCAST提示。 在分析查询语句时,所
阅读全文
摘要:前言 在使用Spark shell做一些测试时候会产生大量无用的INFO级别的日志,因此想把它们给禁用掉。具体方法如下。 解决方法 使用自定义的Log4j.properties 然后在提交spark shell时候, 配置 == conf== 即可, 这种方法同样适用于Spark submit 也可
阅读全文
摘要:前言 Driver OutOfMemoryError或Driver Unresponsive是一个非常严重的问题,因为它会使我们的Spark应用程序崩溃。 但这类问题也经常发生,因为Driver 收集了太多的数据回到驱动程序,使其内存不足。 主要症状 Spark应用程序无应答或者崩溃 Driver日
阅读全文
摘要:前言 Join和Aggregation操作都可能引起Shuffle,所以这类问题一般具有相似的症状和解决办法。 主要症状 Join stage可能一直在运行,它可能包含一个或者多个task。 该Join stage前后的stage看起来一切正常。 可能的解决方法 许多Join可以被手动或自动)优化到
阅读全文
摘要:前言 如果你程序中的聚合速度较慢,请先查看 "Spark Stragglers/任务执行缓慢" 部分。 主要症状 在执行 groupby 操作时,任务执行缓慢 聚合操作的后序操作也很缓慢 可能的原因 这类问题并没有固定的解决方法。 有时候,由于作业中的数据有一些偏斜的键(即数据倾斜),导致作业执行缓
阅读全文
摘要:文章目录 前言 主要症状 可能的原因 可能的解决方法 总结 参考资料 文章目录 前言 主要症状 可能的原因 可能的解决方法 总结 参考资料 前言 主要症状 可能的原因 可能的解决方法 总结 参考资料 主要症状 可能的原因 可能的解决方法 前言 在优化应用程序时,这类问题非常常见,大多数时候可能是由于
阅读全文
摘要:文章目录 Spark中的多任务处理 一个顺序作业的例子 一个有缺陷的并发作业的例子 一个优化过的并发作业的例子 参考资料 文章目录 Spark中的多任务处理 一个顺序作业的例子 一个有缺陷的并发作业的例子 一个优化过的并发作业的例子 参考资料 Spark中的多任务处理 一个顺序作业的例子 一个有缺陷
阅读全文
摘要:文章目录 前言 Spark作业无法启动 运行前的出现错误 运行中出现错误 参考资料 文章目录 前言 Spark作业无法启动 运行前的出现错误 运行中出现错误 参考资料 前言 Spark作业无法启动 运行前的出现错误 运行中出现错误 参考资料 前言 Spark作业无法启动 运行前的出现错误 运行中出现
阅读全文
摘要:关于SparkSession 任何Spark程序的第一步都是先创建SparkSession。在Spark-Shell或者其他交互模式中,SparkSession已经预先被创建好了,但在正常编写的Spark程序中,我们必须手动创建SparkSession。 在一些遗留的Spark代码中,我们一般使用
阅读全文
摘要:文章目录 什么是Checkpointing 为什么使用Checkpointing 哪些RDD需要使用Checkpointing Checkpointing和Cache的区别 参考资料 文章目录 什么是Checkpointing 为什么使用Checkpointing 哪些RDD需要使用Checkpoi
阅读全文
摘要:执行的基本步骤 简单来说,Spark 对代码中Structured API的执行主要有以下几个步骤: 我们可以通过console(如spark-shell)或者submit job(spark-submit)等方法将我们的代码提交到Spark。Spark使用 Catalyst Optimizer 优
阅读全文
摘要:在Spark中有多种可以构建或者引用columns的方法,但是最简单的还是使用col 或者column函数。方法如下: 在Scala中,还有其他一些特殊的并且更方便的方法来引用columns。例如以下的语法糖同样可以用来引用或者创建一个column(性能上没有差别): $ 允许我们指定某个字符串来引
阅读全文
摘要:文章目录 前言 关于Dataset 关于Dataset API Typed and Un-typed APIs 关于Transformations Typed transformations vs Untyped transformations 总结 参考资料 文章目录 前言 关于Dataset 关
阅读全文
摘要:文章目录 前言 RDD、DataFrame和DataSet的定义 RDD、DataFrame和DataSet的比较 Spark版本 数据表示形式 数据格式 编译时类型安全 序列化 垃圾回收 效率/内存使用 编程语言支持 聚合操作(Aggregation) 结论 文章目录 前言 RDD、DataFra
阅读全文
摘要:文章目录 前言 一些资源参数设置的基本知识 不同配置的优劣分析 第一种方法:使用较小的executors 第二种方法:使用较大的executors 第三种方法:使用优化的executors 文章目录 前言 一些资源参数设置的基本知识 不同配置的优劣分析 第一种方法:使用较小的executors 第二
阅读全文
摘要:文章目录 一些常用的Spark SQL调优技巧 文章目录 一些常用的Spark SQL调优技巧 一些常用的Spark SQL调优技巧 一些常用的Spark SQL调优技巧 一些常用的Spark SQL调优技巧 一些常用的Spark SQL调优技巧 使用缓存表 在sparksql中,当我们创建表时,我
阅读全文
摘要:在关于spark任务并行度的设置中,有两个参数我们会经常遇到,spark.sql.shuffle.partitions 和 spark.default.parallelism, 那么这两个参数到底有什么区别的? 首先,让我们来看下它们的定义 看起来它们的定义似乎也很相似,但在实际测试中, spark
阅读全文

浙公网安备 33010602011771号