
spark
SW_LCC
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spark作业调度类型
Spark作业调度Spark 作业的意思是一个 Spark 动作以及执行该动作的所需要启动的任务。 Spark 的调度是完全线程安全的, 使应用程序支持多个请求。FIFO默认情况下, Spark 遵循 FIFO(先进先出) 方式调度作业。如果位于队列头的作业不需要使用整个集群资源, 后面的作业可以立即开始,但如果队列头的作业工作量很大, 位于队列后部的作业可能会被延迟启动。FAIRSpark 以轮询( round-robin) 方式调度各作业并分配任务,以便所有作业获得大致相等的集群原创 2020-07-01 17:58:53 · 370 阅读 · 0 评论 -
Spark释义Dataset、DataFrame、SQL
数据分区为了多个执行器能并行地工作,spark降数据分解成多个数据块,每个数据块是一个分区。转换进行转换时,数据会被自动分区。转换分为两种:一种窄依赖关系的转换,一种是宽依赖关系的转换。窄依赖转换时一个分区只会输出一个分区。宽依赖转换时一个分区可转换多个分区。惰性操作惰性指等到必须执行时才计算。用户的一些操作,不会立即修改数据,而是建立转换计划并转化为流水线的物理计划。目的是优化物理计划,减少扫描实际用不到的数据. val flightData2015 = spark .r原创 2020-06-24 18:09:41 · 258 阅读 · 0 评论 -
hive修改表结构后插入数据查询为空
最近使用hive的时候发现,当修改已存在的表,添加另外的列,然后插入数据,发现新插入的数据中,里面的新列数据皆为NULL。(当前hive版本为2.1.0)查了一下资料,发现hive的元数据表SDS中,该表的CD_ID值为旧值,在更新表结构后该CD_ID有改动。解决办法:1.如果要解决这个问题,可以手动的修改SDS表中该数据表对应的CD_ID值。2.可以手动的给该表的分区加上新增的列,如:...原创 2020-03-31 19:05:53 · 1100 阅读 · 0 评论 -
《SparkSQL剖析》SparkSQL到RDD概述
SparkSQL 到RDDval spark = SparkSession . builder(). appName("example").master("local").getOrCreate()spark.read.json("student.json").createOrReplaceTempView("student")spark.sql("select name from stud...原创 2020-01-20 11:54:41 · 645 阅读 · 0 评论 -
spark任务调度原理
概述任务调度模块分为DAGScheduler和TaskScheduler两个组件,将用户提交的job划分不同阶段并提交到集群。DAGScheduler分析用户提交的应用, 并根据计算任务的依赖关系建立DAG, 然后将DAG划分为不同的Stage(阶段) , 其中每个Stage由可以并发执行的一组Task构成, 这些Task的执行逻辑完全相同, 只是作用于不同的数据。 而且DAG在不同的资源管理...原创 2019-10-28 12:10:39 · 501 阅读 · 0 评论 -
Spark技术内幕笔记 RDD计算执行
RDD在经过转换之后,会出发一个动作生成Job。从而产生一批计算任务在Executor执行。Task分为两种类型:org.apache.spark.scheduler.ShuffleMapTaskorg.apache.spark.scheduler.ResultTaskDAG在最后的阶段会给每个Partition生成一个ResultTask,其他阶段生成ShuffleMapTask。Ta...原创 2019-10-28 00:42:23 · 188 阅读 · 0 评论 -
SparkStreaming发送log4j日志到Flume配置
如果要将SparkStreaming产生的系统日志发送给Flume则要在log4j.properties中添加如下配置:log4j.rootLogger=INFO,flumelog4j.appender.flume=org.apache.flume.clients.log4jappender.Log4jAppenderlog4j.appender.flume.Hostname=192.16...原创 2019-08-27 00:25:03 · 254 阅读 · 0 评论 -
Spark RDD和DAG生成
RDD依赖Rdd之间存在血缘关系(Lineage),因此RDD之间存在联系,其中分为宽依赖和窄依赖。(1)宽依赖宽依赖指多个RDD的partition依赖同一个父RDD的partition(2)窄依赖窄依赖指RDD的partition都只依赖于一个父RDD不同的partition所有依赖都需实现trait Dependency[T]窄依赖代码实现:abstract class ...原创 2019-09-22 23:21:55 · 214 阅读 · 0 评论