![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
文章平均质量分 76
少说废话多干活
寻找巨人,并站在他们的肩膀上
找回男人的自信
展开
-
HiveQL中如何排查数据倾斜问题
转https://blog.csdn.net/u010010664/article/details/79731044数据倾斜的现象:会导致的问题可能会导致下面2个问题1)某个reduce task,卡在99.9%半天不动。如下2)任务超时被杀掉Reduce处理的数据量巨大,在做full gc的时候,stop the world。导致响应超时,超出默认的600秒,任务被杀掉。报错信息AttemptID:attempt_1498075186313_242232_r_0.转载 2021-01-28 23:04:40 · 191 阅读 · 0 评论 -
hivesql优化
对执行很慢的hivesql进行优化:列裁剪和分区裁剪列裁剪就是在查询时只读取需要的列,分区裁剪就是只读取需要的分区越早过滤越好where --减少下游处理的数据量sort by代替order byorder by将结果按某字段全局排序,这会导致所有map端数据都进入一个reducer中ort by,那么还是会视情况启动多个reducer进行排序,并且保证每个reducer内局部有序, 为了控制map端数据分配到reducer的key,往往还要配合distribut...原创 2021-01-27 03:08:16 · 350 阅读 · 0 评论 -
大数据介绍
大数据的特征:数据量大 (各行各业产生的数据) 类型繁多 : 结构文件、半结构文件(xml)、非结构化数据(视频) 价值密度低 : 数据总量膨胀,但有用的数据较少 速度快时效高 : 例如高德查看当前交通情况大数据的挑战:存储 : 每天几百GB、几TB的资料 分析 : 如何从大量数据挖掘出隐藏的巨大商业价值,例如购物时推荐 管理 : 如何快速构建并保证系...原创 2019-12-27 04:24:57 · 181 阅读 · 0 评论 -
大数据环境搭建(在虚拟机上)
一、安装VMare二、安装Centos7三、配置linux1、配置网络ip addr #查看本机ipvi /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO=static #修改ONBOOT=yes #修改IPADDR=192.168.52.100NETMASK=255.255.255.0GATEWAY=192.1...原创 2019-12-23 22:33:33 · 1038 阅读 · 1 评论 -
Hadoop --- HDFS介绍
HDFS是什么??HDFS(Hadoop Distributed File System ),即hadoop的分布式文件系统File System 文件系统:操作系统中负责管理和存储文件信息的软件分布式文件系统 :当数据集大小超出一台计算机的存储能力时,就有必要将它拆分成若干部分,然后分散到不同的计算机中存储 ;管理网络中跨多台计算机存储的文件系统称之为分布式文件系统...原创 2019-12-05 12:08:44 · 155 阅读 · 0 评论 -
hadoop --- Hadoop介绍
Hadoop简介:提供了一个可靠的且可扩展的存储和分析平台 ; 其与关系型数据库的区别在于:它们所操作的数据集的机构化程度,Hadoop对非结构化数据或半结构化数据非常有效。https://mp.weixin.qq.com/s?src=11×tamp=1575514273&ver=2015&signature=TUAkEUuEgEoDQvdwXo3TVA...原创 2019-12-05 11:49:06 · 77 阅读 · 0 评论 -
Scala --- 隐式转换和隐式参数
隐式转换:定义:它可以允许你手动指定,将某种类型的对象转换成其他类型的对象或者是给一个类增加方法 即定义一个使用 “implicit”关键字修饰的方法 实现把一个原始类转换成目标类,进而可以调用目标类中的方法隐式参数:所谓的隐式参数,指的是在函数或者方法中,定义一个用implicit修饰的参数,此时Scala会尝试找到一个指定类型的用implicit修饰的参数,即隐式值,并注入...原创 2019-12-04 22:06:28 · 125 阅读 · 0 评论 -
Scala --- 协变、逆变、非变
class Pair[T](a:T)object Pair { def main(args: Array[String]): Unit = { val p1 = new Pair("hello") // 编译报错,无法将p1转换为p2 val p2:Pair[AnyRef] = p1 println(p2) }}协变:class Temp2[...原创 2019-12-04 21:30:42 · 117 阅读 · 0 评论 -
scala --- 上下界
在指定泛型类型时,有时需要界定泛型类型的范围,而不是接收任意类型 ; 比如,要求某个泛型类型,必须是某个类的子类,这样在程序中就可以放心的调用父类的方法,程序才能正常的使用与运行 scala的上下边界特性允许泛型类型是某个类的子类,或者是某个类的父类 U >: T 下界的定义 , 即U必须是类型T的父类或者是自己本身。 U <: T...原创 2019-12-04 18:12:19 · 172 阅读 · 0 评论 -
Scala --- 泛型
scala和Java一样,类和特质、方法都可以支持泛型scala> val list1:List[String] = List("1", "2", "3")list1: List[String] = List(1, 2, 3)在scala中,使用方括号来定义类型参数 List[String]定义一个泛型方法 def getMiddle[A](arr:Array...原创 2019-12-04 18:02:20 · 138 阅读 · 0 评论 -
Scala --- 提取器Extractor
定义:从传递给它的对象中提取出构造该对象的参数 (类似 样例类进行模式匹配提取参数 ) case SubmitTask(id, name) => println(s"id=$id, name=$name"原理:Scala提取器是一个带有unapply方法的对象 ;unapply方法算是apply方法的反向操作 ;class Student { ...原创 2019-12-04 17:50:52 · 145 阅读 · 0 评论 -
Scala --- 异常处理
举例:object ExcepionTest1 { def main(args: Array[String]): Unit = { val i = 10/0; println(i) }}//输出:Exception in thread "main" java.lang.ArithmeticException: / by zero at com.excep...原创 2019-12-04 17:24:49 · 90 阅读 · 0 评论 -
Scala --- 模式匹配和样例类
Scala的模式匹配机制,可以应用到很多场合: switch语句 类型查询 以及快速获取数据 scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配匹配字符串://todo:匹配字符串 , 类似 switchobject CaseDemo01 extends App{ //定义一个数组 val arr=Array("hadoop"...原创 2019-12-04 17:07:27 · 196 阅读 · 0 评论 -
Scala --- 面向对象编程之trait特质
介绍:trait特质 是 Scala中代码复用的基础单元 (相当于java的接口) 作用:他可以将方法和字段定义封装起来,然后添加到类中 与类的区别:每个类只能继承一个超类,而一个类可以添加任意数量的特质 ; 使用方法: 使用extends 来继承trait ; 如果要继承多个trait,则使用with关键字 ...原创 2019-12-04 16:06:24 · 127 阅读 · 0 评论 -
Scala --- 面向对象编程之继承
scala和Java一样,使用extends关键字来实现继承eg1:实现简单继承class Person1 { var name = "super" def getName = this.name}class Student1 extends Person1object Main1 { def main(args: Array[String]): Unit =...原创 2019-12-04 14:17:16 · 170 阅读 · 0 评论 -
大数据 -- Scala:面向对象编程之对象
Scala中的object:Scala是没有java中的静态成员的 。如果需要用到static变量、static 方法,就要用到Scala的单例对象object 。注意:使用object定义一个单例对象,可以用object作为工具类或存放常量//单例对象只能有一个无参的主构造器,不能添加其他参数object DateUtils { //在object中定义的成员变量,相...原创 2019-12-04 13:04:17 · 80 阅读 · 0 评论 -
大数据 -- Scala:面向对象编程之类
类的定义:package comimport java.util.Dateclass Customer { // _ 表示使用默认值进行初始化 ; //String -- null , Int -- 0 , Boolean -- false //val变量不能使用_来初始化 var name:String = _ var sex:String = _...原创 2019-12-03 20:01:18 · 77 阅读 · 0 评论 -
大数据 -- Scala:高阶函数
定义:使用函数值作为参数,或者返回值为函数值的 “函数”和“方法”函数值作为参数://定义一个数组scala> val array=Array(1,2,3,4,5)array: Array[Int] = Array(1, 2, 3, 4, 5)//定义一个函数scala> val func=(x:Int)=>x*10func: Int => Int...原创 2019-12-03 19:33:09 · 133 阅读 · 0 评论 -
大数据 -- Scala : 函数式编程
1、函数式编程介绍:函数:函数即Function,是从集合A到集合B的一种映射关系。如果集合A中的每一个元素都对应到集合B中的某一个元素,那么这种映射关系就叫做函数。我们将来使用Spark/Flink的大量业务代码都会使用到函数式编程遍历 foreach方法描述:foreach(f: (A) ⇒ Unit): Unit方法说明:foreach API ...原创 2019-12-03 18:54:44 · 201 阅读 · 0 评论 -
大数据 -- Scala集合:Map、Set、List
1、映射Map定义:Map可以称之为映射。它是由键值对组成的集合。scala当中的Map集合与java当中的Map类似,也是key,value对形式的。在scala中,Map也分为不可变Map和可变 Map。不可变map:语法:val/var map = Map(键->值, 键->值, 键->值...) // 推荐,可读性更好val/var...原创 2019-12-03 15:23:32 · 394 阅读 · 0 评论 -
大数据 -- Scala:方法、函数、数组、元组
1、方法1)语法:def methodName (参数名:参数类型, 参数名:参数类型) : [return type] = { // 方法体:一系列的代码}- 参数列表的参数类型不能省略- 返回值类型可以省略,由scala编译器自动推断- 返回值可以不写return,默认就是{}块表达式的值注意:如果定义递归方法,不能省略返回值类型 递归方法:求阶乘 ...原创 2019-12-03 14:45:22 · 232 阅读 · 0 评论 -
大数据 -- Scala语法:变量、数据类型、标识符、条件表达式、块表达式、循环
1、声明变量1)语法格式 :val/var 变量名称:变量类型 = 初始值 val定义的是不可重新赋值的变量(值不可修改) var定义的是可重新赋值的变量(值可以修改) notice:scala的语句最后不需要添加分号 scala中声明变量是变量名称在前,变量类型在后,跟java是正好相反使用val声明变量,相当于java中的final修饰,不能在指向...原创 2019-12-02 22:31:23 · 130 阅读 · 0 评论 -
大数据 -- Scala 介绍
1、介绍官网https://www.scala-lang.org 是一门多范式编程语言,目的是要集成面向对象编程OOP和函数式编程FP的各种特性 (扩展:范式指编程时的指导思想,例如C语言是过程式编程语言,java,c# 是面向对象式编程语言,haskell式函数式编程语言)底层:scala 源代码被编译成java字节码(class文件) ,所以可以运行在JVM ,并可以调用现...原创 2019-12-02 21:31:49 · 257 阅读 · 0 评论 -
大数据 -- start
开启大数据之旅了,就当把博客当作记笔记了,这样能够尽量激励我坚持下去 ; 中间也穿插对java等的进阶原创 2019-12-02 14:49:49 · 77 阅读 · 0 评论