
大数据
文章平均质量分 76
少说废话多干活
寻找巨人,并站在他们的肩膀上
找回男人的自信
展开
-
HiveQL中如何排查数据倾斜问题
转https://blog.youkuaiyun.com/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 · 266 阅读 · 0 评论 -
hivesql优化
对执行很慢的hivesql进行优化: 列裁剪和分区裁剪 列裁剪就是在查询时只读取需要的列,分区裁剪就是只读取需要的分区 越早过滤越好where --减少下游处理的数据量 sort by代替order by order by将结果按某字段全局排序,这会导致所有map端数据都进入一个reducer中 ort by,那么还是会视情况启动多个reducer进行排序,并且保证每个reducer内局部有序, 为了控制map端数据分配到reducer的key,往往还要配合distribut...原创 2021-01-27 03:08:16 · 388 阅读 · 0 评论 -
大数据介绍
大数据的特征: 数据量大 (各行各业产生的数据) 类型繁多 : 结构文件、半结构文件(xml)、非结构化数据(视频) 价值密度低 : 数据总量膨胀,但有用的数据较少 速度快时效高 : 例如高德查看当前交通情况 大数据的挑战: 存储 : 每天几百GB、几TB的资料 分析 : 如何从大量数据挖掘出隐藏的巨大商业价值,例如购物时推荐 管理 : 如何快速构建并保证系...原创 2019-12-27 04:24:57 · 216 阅读 · 0 评论 -
大数据环境搭建(在虚拟机上)
一、安装VMare 二、安装Centos7 三、配置linux 1、配置网络 ip addr #查看本机ip vi /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTO=static #修改 ONBOOT=yes #修改 IPADDR=192.168.52.100 NETMASK=255.255.255.0 GATEWAY=192.1...原创 2019-12-23 22:33:33 · 1114 阅读 · 1 评论 -
Hadoop --- HDFS介绍
HDFS是什么?? HDFS(Hadoop Distributed File System ),即hadoop的分布式文件系统 File System 文件系统:操作系统中负责管理和存储文件信息的软件 分布式文件系统 :当数据集大小超出一台计算机的存储能力时,就有必要将它拆分成若干部分,然后分散到不同的计算机中存储 ;管理网络中跨多台计算机存储的文件系统称之为分布式文件系统 ...原创 2019-12-05 12:08:44 · 211 阅读 · 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 · 108 阅读 · 0 评论 -
Scala --- 隐式转换和隐式参数
隐式转换: 定义:它可以允许你手动指定,将某种类型的对象转换成其他类型的对象或者是给一个类增加方法 即定义一个使用 “implicit”关键字修饰的方法 实现把一个原始类转换成目标类,进而可以调用目标类中的方法 隐式参数: 所谓的隐式参数,指的是在函数或者方法中,定义一个用implicit修饰的参数,此时Scala会尝试找到一个指定类型的用implicit修饰的参数,即隐式值,并注入...原创 2019-12-04 22:06:28 · 175 阅读 · 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 · 149 阅读 · 0 评论 -
scala --- 上下界
在指定泛型类型时,有时需要界定泛型类型的范围,而不是接收任意类型 ; 比如,要求某个泛型类型,必须是某个类的子类,这样在程序中就可以放心的调用父类的方法,程序才能正常的使用与运行 scala的上下边界特性允许泛型类型是某个类的子类,或者是某个类的父类 U >: T 下界的定义 , 即U必须是类型T的父类或者是自己本身。 U <: T...原创 2019-12-04 18:12:19 · 235 阅读 · 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 · 200 阅读 · 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 · 187 阅读 · 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 · 139 阅读 · 0 评论 -
Scala --- 模式匹配和样例类
Scala的模式匹配机制,可以应用到很多场合: switch语句 类型查询 以及快速获取数据 scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配 匹配字符串: //todo:匹配字符串 , 类似 switch object CaseDemo01 extends App{ //定义一个数组 val arr=Array("hadoop"...原创 2019-12-04 17:07:27 · 261 阅读 · 0 评论 -
Scala --- 面向对象编程之trait特质
介绍: trait特质 是 Scala中代码复用的基础单元 (相当于java的接口) 作用:他可以将方法和字段定义封装起来,然后添加到类中 与类的区别:每个类只能继承一个超类,而一个类可以添加任意数量的特质 ; 使用方法: 使用extends 来继承trait ; 如果要继承多个trait,则使用with关键字 ...原创 2019-12-04 16:06:24 · 167 阅读 · 0 评论 -
Scala --- 面向对象编程之继承
scala和Java一样,使用extends关键字来实现继承 eg1:实现简单继承 class Person1 { var name = "super" def getName = this.name } class Student1 extends Person1 object Main1 { def main(args: Array[String]): Unit =...原创 2019-12-04 14:17:16 · 234 阅读 · 0 评论 -
大数据 -- Scala:面向对象编程之对象
Scala中的object: Scala是没有java中的静态成员的 。如果需要用到static变量、static 方法,就要用到Scala的单例对象object 。 注意: 使用object定义一个单例对象,可以用object作为工具类或存放常量 //单例对象只能有一个无参的主构造器,不能添加其他参数 object DateUtils { //在object中定义的成员变量,相...原创 2019-12-04 13:04:17 · 110 阅读 · 0 评论 -
大数据 -- Scala:面向对象编程之类
类的定义: package com import java.util.Date class Customer { // _ 表示使用默认值进行初始化 ; //String -- null , Int -- 0 , Boolean -- false //val变量不能使用_来初始化 var name:String = _ var sex:String = _ ...原创 2019-12-03 20:01:18 · 105 阅读 · 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*10 func: Int => Int...原创 2019-12-03 19:33:09 · 176 阅读 · 0 评论 -
大数据 -- Scala : 函数式编程
1、函数式编程 介绍: 函数:函数即Function,是从集合A到集合B的一种映射关系。如果集合A中的每一个元素都对应到集合B中的某一个元素,那么这种映射关系就叫做函数。 我们将来使用Spark/Flink的大量业务代码都会使用到函数式编程 遍历 foreach 方法描述:foreach(f: (A) ⇒ Unit): Unit 方法说明: foreach API ...原创 2019-12-03 18:54:44 · 248 阅读 · 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 · 489 阅读 · 0 评论 -
大数据 -- Scala:方法、函数、数组、元组
1、方法 1)语法: def methodName (参数名:参数类型, 参数名:参数类型) : [return type] = { // 方法体:一系列的代码 } - 参数列表的参数类型不能省略 - 返回值类型可以省略,由scala编译器自动推断 - 返回值可以不写return,默认就是{}块表达式的值 注意:如果定义递归方法,不能省略返回值类型 递归方法:求阶乘 ...原创 2019-12-03 14:45:22 · 311 阅读 · 0 评论 -
大数据 -- Scala语法:变量、数据类型、标识符、条件表达式、块表达式、循环
1、声明变量 1)语法格式 : val/var 变量名称:变量类型 = 初始值 val定义的是不可重新赋值的变量(值不可修改) var定义的是可重新赋值的变量(值可以修改) notice: scala的语句最后不需要添加分号 scala中声明变量是变量名称在前,变量类型在后,跟java是正好相反 使用val声明变量,相当于java中的final修饰,不能在指向...原创 2019-12-02 22:31:23 · 203 阅读 · 0 评论 -
大数据 -- Scala 介绍
1、介绍 官网https://www.scala-lang.org 是一门多范式编程语言,目的是要集成面向对象编程OOP和函数式编程FP的各种特性 (扩展:范式指编程时的指导思想,例如C语言是过程式编程语言,java,c# 是面向对象式编程语言,haskell式函数式编程语言) 底层:scala 源代码被编译成java字节码(class文件) ,所以可以运行在JVM ,并可以调用现...原创 2019-12-02 21:31:49 · 351 阅读 · 0 评论 -
大数据 -- start
开启大数据之旅了,就当把博客当作记笔记了,这样能够尽量激励我坚持下去 ; 中间也穿插对java等的进阶原创 2019-12-02 14:49:49 · 107 阅读 · 0 评论