04 2019 档案
摘要:XML与JSON的互相转化详见:XML模块 https://www.cnblogs.com/shengyang17/p/8606223.html event.xml <?xml version="1.0" encoding="utf-8" standalone="yes"?> <Events> <E
阅读全文
摘要:1. Spark数据倾斜问题 Spark中的数据倾斜问题主要指shuffle过程中出现的数据倾斜问题,是由于不同的key对应的数据量不同导致的不同task所处理的数据量不同的问题。 例如,reduce点一共要处理100万条数据,第一个和第二个task分别被分配到了1万条数据,计算5分钟内完成,第三个
阅读全文
摘要:1. 常规性能调优 一:最优资源配置 Spark性能调优的第一步,就是为任务分配更多的资源,在一定范围内,增加资源的分配与性能的提升是成正比的,实现了最优的资源配置后,在此基础上再考虑进行后面论述的性能调优策略。 --driver-memory 配置Driver内存(影响不大) 内存大小影响不大 资
阅读全文
摘要:实战 数据导入Hive中全量: 拉链增量:用户、商品表数据量大时用 拉链表动作表 增量城市信息 全量 需求一: 获取点击、下单和支付数量排名前 10 的品类 ①使用累加器: click_category_id,个数 order_category_ids,个数 pay_category_ids,个数
阅读全文
摘要:rsync常见错误 sending incremental file list profile rsync: mkstemp "/etc/.profile.YF3qCk" failed: Permission denied (13) sent 693 bytes received 49 bytes
阅读全文
摘要:一些名词概念 以yarn-cluster模式为例源码分析作业提交流程 Spark-submit提交源码解析 执行spark-submit实际上执行的是$SPARK_HOME/spark-class -->执行一个java类 java org.apache.spark.launcher.Main调它的
阅读全文
摘要:从数据处理的方式角度: 流式(Streaming)数据处理; 批量(batch)数据处理; 从数据处理延迟的长短: 实时数据处理: 毫秒级别;(流式处理 != 实时数据处理) 离线数据处理: 小时 or 天级别 1. Spark Streaming Spark Streaming用于流式数据的处理。
阅读全文
摘要:软件通用的快捷键: * 保存:Ctrl + S * 剪切:Ctrl + X * 粘贴:Ctrl + V * 复制:Ctrl + C * 全选:Ctlr + A * 撤销:Ctrl + Z * 反撤销:Ctrl + Y * 查找与替换:Ctrl + F (find) IDEA alt+enter 提示
阅读全文
摘要:1. Hive and SparkSQL sparkSQL的前身是Shark。 Hive是早期唯一运行在Hadoop上的SQL-on-Hadoop工具。但是MapReduce计算过程中大量的中间磁盘落地过程消耗了大量的I/O,降低的运行效率,为了 提高SQL-on-Hadoop的效率,大量的SQL-
阅读全文
摘要:Spark中三大数据结构: RDD; 广播变量: 分布式只读共享变量; 累加器:分布式只写共享变量; 线程和进程之间 1. RDD 序列化 1) 闭包检查 从计算的角度, 算子以外的代码都是在 Driver 端执行, 算子里面的代码都是在 Executor 端执行。那么在 scala 的函数式编程中
阅读全文
摘要:类比java中的泛型: 上界(协变)、下界(逆变) scala中泛型采用中括号声明 泛型上界 泛型下界 协变(+)(也就是上限上界):这个类型往它的子类中去找,多态的感觉;从类的关系往回推叫逆变(-)(也就是下限下界);它们主要在类声明时使用;
阅读全文
摘要:1. 模式匹配 Scala中的模式匹配类似于Java中的switch语法,但是更加强大。模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声明,当需要匹配时,会从第一个case分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断。如果所有c
阅读全文
摘要:arrays :+ 5尾部 头部5 +: arrays list -- seq序列 队列特殊集合:mutable.Queue 队列, 必须为可变的 先进先出 Set:immutable 无序 不可变-- java:set ==> scala:Set mutable.set可变 mutable.Map
阅读全文
摘要:1.Spark and Hadoop 在 Spark 出现之前,我们并没有对 MapReduce 的执行速度不满,我们觉得大数据嘛、分布式计算嘛,这样的速度也还可以啦。至于编程复杂度也是一样,一方面 Hive、Mahout 这些 工具将常用的 MapReduce 编程封装起来了;另一方面,MapRe
阅读全文
摘要:Spark 核心编程 Spark计算框架为了能够进行高并发和高吞吐的数据处理,封装了三大数据结构,用于处理不同的应用场景。三大数据结构分别是: ➢ RDD : 弹性分布式数据集 ➢ 累加器:分布式共享只写变量 ➢ 广播变量:分布式共享只读变量 RDD(Resilient Distributed Da
阅读全文
摘要:Java 集合 : 数据的容器,可以在内部容纳数据 List : 有序,可重复的 Set : 无序,不可重复 Map : 无序,存储K-V键值对,key不可重复 scala 集合 : 可变集合(ArrayList) & 不可变集合(数组) String(不可变字符串), (StringBuilder
阅读全文
摘要:函数式编程 静态关键字不是面向对象中的语法,scala中函数可理解为java中的静态方法 scala是完全面向函数的编程语言,scala中的类其实也是一个函数 这里的函数类似于java的静态方法,体现的是功能的封装 声明 def main(args: Array[String]): Unit = {
阅读全文
摘要:Scala 是 Scalable Language 的简写,是一门多范式(编程的方式)的编程语言 Scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。 Scala 是一门多范式 (multi-paradigm) 的编程语言,Scal
阅读全文
摘要:extend App scala中面向对象的编程语法和java基本类似,但是有区别 * 1)scala中的包和java一致 * 2) scala中import可以用于导包,但是java.lang的包自动的包含(跟java中一样,java.lang包不用导入就可直接使用) scala中import才是
阅读全文