Spark性能优化:资源调优篇 在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无论是哪...
Spark性能优化:数据倾斜调优 前言继《Spark性能优化:开发调优篇》和《Spark性能优化:资源调优篇》讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。1.数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜...
Spark性能优化:开发调优篇 1、前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度...
Spark性能优化:shuffle调优 shuffle调优调优概述 大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占到一小部分...
Spark 2.0 与 Cassandra 结合 实现 Rest API 服务 在这篇文章中,我将介绍如何在Spark中使用Akka-http并结合Cassandra实现REST服务,在这个系统中Cassandra用于数据的存储。我们已经见识到Spark的威力,如果和Cassandra正确地结合可以实现更强大的系统。我们先创建一个build.sbt文件,内容如下:name := "cassandra-spark-akka-http-starter-kit" versi...
Redis 发布和订阅模式知识点 发布和订阅模式是常用和很方便的模式,下面记录redis中对pub/sub的支持;Pub/Sub:"发布/订阅"在redis中,被设计的非常轻量级和简洁,它做到了消息的“发布”和“订阅”的基本能力;但是尚未提供关于消息的持久化等各种企业级的特性。一个Redis client发布消息,其他多个redis client订阅消息,发布的消息"即发即失",redis不会持久保存发布的消息;消息订阅者也...
大数据应用各组件涉及端口 Hadoop: 50070:HDFS WEB UI端口 8020 : 高可用的HDFS RPC端口 9000 : 非高可用的HDFS RPC端口 8088 : Yarn 的WEB UI 接口 8485 : JournalNode 的RPC端口 8019 : ZKFC端口19888:jobhistory WEB UI端口Zookeepe...
Spark Streaming 往 kafka 写数据Demo I’d suggest the following approach:Use (and re-use) one KafkaProducer instance per executor process/JVM.Here’s the high-level setup for this approach:First, you must “wrap” Kafka’s KafkaProducer...
Java/Scala 调用 Python 的几种方式及优缺点 方式一:启动进程执行python脚本// method1: launch local runtime process to exec python file// just exec fileval proc1 = Runtime.getRuntime().exec("python src/test.py")proc1.waitFor()// exec with parametersva...
Linux 常用命令 更该权限命令(文件可运行)chmod 755 filename备份文件cp -p 源文件名 目标文件名查看单个文件大小du -sk 目标文件名上传本地文件到 linux 服务器先输入 rpm -qa lrzsz , 查看是否安装 lrzsz;rz -y 弹出窗口选择文件获得当前正在运行的java进程pidps -ef | grep java查看lin...
val-mutable 和 var-imuatble 如何选择 对于 val 修饰的 mutable 类型的数据和 var 修饰的 immutable 类型的数据,两者之间,哪只种方式更安全呢?这是一个十常见的问题,难的是找到两者之间的共同点。
Scala 中 var 和 val 的区别 一想到这两个的区别,大多数人第一反应就是,var 修饰的变量可改变,val 修饰的变量不可改变;但真的如此吗?事实上,var 修饰的对象引用可以改变,val 修饰的则不可改变,但对象的状态却是可以改变的。
从源码层面理解 Either、Option 和 Try Either代表一个结果的两个可能性,一个是 Right ,一个是 Left Option代表可选择的值,一个是 Some(代表有值),一个是 None (值为空);常用于结果可能为 null 的情况;Try运算的结果有两种情况,一个是运行正常,即 Success ,一个是运行出错,抛出异常 ,即 Failure ,其中 Failure 里面包含的是异常的信息;