随笔分类 - SPARK
摘要:一、SPARK结构化流一般包含以下几个部分: 获取一个或者多个流数据源:可以是kafka,文件, socket 使用DataFrame或者DataSet形式转换和操作流的逻辑 定义输出模式和触发器 写入下游存储系统中 二、数据源 socket object SocketStream { def ma
阅读全文
摘要:一、数据倾斜产生的原因 spark job中绝大多数task执行得非常快,但个别task执行缓慢。或者原本线上运行的job是正常,但在某天由于特殊原因报出OOM的异常,观察发现是因为代码本身造成的。 一般来说,发生数据倾斜是在程序进行shuffle的时候,必须将各个节点上相同的key拉取到某个节点上
阅读全文
摘要:一、将Hudi数据同步到Hive 1)需要将编译好的hudi-hadoop-mr-bundle-0.10.0.jar,放到对应的环境中,../CDH/jars 和 ../CDH/lib/hive/lib下面,具体步骤可以参考Flink1.3.1+Hudi0.10初探 cd /app/hudi-0.1
阅读全文
摘要:一、hudi编译 1)下载0.10版本的hudi,因为cdh6..2自带spark是2.4.0版本的,需要改下代码,注释掉整个if内容,否则会报错 2)将编译完成的hudi-spark-bundle_2.11-0.10.0.jar放到spark home的jars下 # 编译mvn clean pa
阅读全文
摘要:正常的SPARK SQL执行会先经过SQL Parser解析SQL,然后经过Catalyst优化器处理,最后到spark执行,其中包括以下几个重要的部分: SQL Parse:sql解析器将sql解析为抽象语法树,即Unresolved Logical Plan Analysis:利用Catalog
阅读全文
摘要:1)sc.textFile读取小文件时,调用的时hadoopFile,使用的是textInputFormat,除了使用sc.wholeTextFiles还可以自定义CombineFileInputFormat // sc.textFile调用的是 sc.hadoopFile,但是InputForma
阅读全文
摘要:自定义Listener来实现对spark任务的运行状态的监控: package org.shydow.example import org.apache.spark.internal.Logging import org.apache.spark.scheduler.{JobResult, Spar
阅读全文
摘要:一、SPARK SQL的执行流程 二、spark支持的join包括:inner join,left outer join,right outer join,full outer join,left semi join,left anti join spark的join是将两张表抽象为遍历表和查找 s
阅读全文
摘要:在实际工作中统计uv时,一般会使用count(distinct userId)的方式去统计人数,但这样效率不高,假设你是统计多个维度的数据,当某天你想要上卷维度,此时又需要从原始层开始统计,如果数据量大的时候将会耗费很多时间,此时便可以使用最细粒度的聚合结果进行上卷统计,即需要自定义聚合函数进行统计
阅读全文
摘要:一、SPARK 其中top算子调用的takeOrdered算子,takeOrdered算子底层使用的是优先队列(BoundedPriorityQueue),首先进入的是mapPatition,然后使用reduce将每个分区数据进行合并 sortBy + take val url: URL = Lau
阅读全文
摘要:一般在使用mapPartition时,往往会跟随着文件的创建或者数据库的连接等,此时我们需要在创建一个容器,用于存储维表关联后的数据,但这有一个问题,创建的容器会占用内存的,这时我们可以使用迭代器进行优化。 一、普遍方法 package org.shydow import java.sql.{Con
阅读全文
摘要:一、CDH6.2中自带访问阿里云OSS的jar包,只需要将相应的jar放到./spark/jars目录下即可: cd /opt/cloudera/parcels/CDH/jarsmv aliyun-sdk-oss-2.8.3.jar ../lib/spark/jars/mv hadoop-aliyu
阅读全文
摘要:一、Spark的两种核心Shuffle Shuffle涉及磁盘的读写和网络的IO,因此shuffle性能的高低直接影响整个程序的性能。Spark也有map阶段和reduce阶段,因此也有Shuffle。 1)基于hash的shuffle 在每个Map阶段的task会为每个reduce阶段的task生
阅读全文

浙公网安备 33010602011771号