首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    第一天:spark基础

    在这里插入图片描述 Driver(驱动器) Spark的驱动器是执行开发程序中的main方法的进程。...RDD是直接缓存在Executor进程内的,因此任务可以在运行时充分利用缓存数据加速运算。 Driver跟Executor关系 ? ?...看上图也就知道算子放到executor中其余在driver中一般,但是如果算子中用到了外部数据,则外部数据需要在driver跟executor中进行序列化跟反序列化到传输。切记! ?...有yarn-client和yarn-cluster两种模式,主要区别在于:Driver程序的运行节点。...2g --total-executor-cores 2 案例实操 Spark Shell仅在测试和验证我们的程序时使用的较多,在生产环境中,通常会在IDE中编制程序,然后打成jar包,然后提交到集群

    69530

    Spark运行standalone集群模式

    这里我们要关注这个框架的三个节点: client master worker spark应用程序有一个Driver驱动,Driver可以运行在Client上也可以运行在master上。...这样我们知道了,Client的主体作用就是运行Driver。而master除了资源调度的作用还可以运行Driver。...standalone的是spark默认的运行模式,它的运行流程主要就是把程序代码解析成dag结构,并再细分到各个task提交给executor线程池去并行计算 二、运行流程 了解standalone主要节点之后...=/usr/local/apps/java/jdk1.8 3.2、conf/spark-env.sh cp spark-env.sh.template spark-env.sh vi spark-env.sh.../jdk1.8 export SCALA_HOME=/usr/local/apps/scala/scala-2.12.2 export SPARK_MASTER_HOST=master export SPARK_WORKER_MEMORY

    54910

    Spark优化(二)----资源调优、并行度调优

    因此我们必须对Spark作业的资源使用原理有一个清晰的认识,并知道在Spark作业运行过程中,有哪些资源参数是可以设置的,以及如何设置合适的参数值。...根据你使用的部署模式(deploy-mode)不同,Driver进程可能在本地启动,也可能在集群中某个工作节点上启动。Driver进程本身会根据我们设置的参数,占有一定数量的内存和CPU core。.../conf/spark-env.sh中配置: SPARK_WORKER_CORES SPARK_WORKER_MEMORY 提交任务: ....--total-executor-cores --driver-cores --driver-memory 参数说明:该参数用于设置Driver进程的内存。...试想一下,无论你的Executor进程有多少个,内存和CPU有多大,但是task只有1个或者10个,那么90%的Executor进程可能根本就没有task执行,也就是白白浪费了资源!

    2K20

    Python大数据之PySpark(二)PySpark安装

    conda和pip什么区别?...#driver申请作业的资源,会向--master集群资源管理器申请 #执行计算的过程在worker中,一个worker有很多executor(进程),一个executor下面有很多task(线程)...bin/spark-submit \ --master spark://node1:7077 \ --driver-memory 512m \ --executor-memory 512m \ --conf...在阶段划分完成和Task创建后, Driver会向Executor发送 Task; 3)、Executor在接收到Task后,会下载Task的运行时依赖,在准备好Task的执行环境后,会开始执行Task...Task分为两种:一种是Shuffle Map Task,它实现数据的重新洗牌,洗牌的结果保存到Executor 所在节点的文件系统中;另外一种是Result Task,它负责生成结果数据; 5)、Driver

    2.7K30

    MyBatis配置中的#{}和${}有什么区别?

    前几天,一位应届生去面试,被问到一个MyBatis中比较基础的问题,说MyBatis中的#号和$符号有什么区别?今天,我给大家来详细介绍一下。...它相当于向PreparedStatement预处理语句中设置参数,而PreparedStatement中的SQL语句是预编译的,如果在设置的参数包含特殊字符,会自动进行转义。...,前者是动态参数,后者是占位符, 动态参数无法防止SQL注入的问题,所以在实际应用中,应该尽可能的使用#号占位符。...另外,$符号的动态传参,可以适合应用在一些动态SQL场景中,比如动态传递表名、动态设置排序字段等。 2、总结 一些小的细节如果不注意,就有可能造成巨大的经济损失。...在技术如此成熟的互联网时代,还是会有一些网站经常出现SQL注入导致信息泄露的问题。 以上就是我对MyBatis配置#号和$号的理解。

    2.6K20
    领券