自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(133)
  • 问答 (1)
  • 收藏
  • 关注

转载 Java stream流处理API使用案例

目录从iteration到Stream操作Stream创建filter.map和flatMap方法提取子Stream和合并Stream状态变换Optional结果的处理Collecting into Maps分组并行Stream Stream是Java8中,操作集合的一个重要特性。从iteration到Stream操作 当...

2019-06-28 15:13:59 198

原创 mysql导出数据库&数据表的结构和数据

1.导出数据库所有的数据表结构mysqldump -hhost -Pport -uuser -ppasswd -d dbname > dbname.sql注意,-d和dbname中间一定要有个空格。2.导出数据库所有的数据表结构和数据mysqldump -hhost -Pport -uuser -ppasswd dbname table_name> table_name.sql

2016-10-25 10:41:42 743

转载 Kafka架构原理

对于kafka的架构原理我们先提出几个问题?1.Kafka的topic和分区内部是如何存储的,有什么特点?2.与传统的消息系统相比,Kafka的消费模型有什么优点?3.Kafka如何实现分布式的数据存储与数据读取?一、Kafka架构图1.kafka名词解释在一套kafka架构中有多个Producer,多个Broker,多个Consumer,每个Producer可以对应多...

2019-12-27 15:40:16 246

转载 Impala和Hive的关系

Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中。并且impala兼容Hive的sql解析,实现了Hive的SQL语义的子集,功能还在不断的完善中。与Hive的关系  Impala 与Hive都是构建在Hadoop之上的数据查询工具各有不同的侧重适应面,但从客户端使...

2019-12-25 14:15:47 271

转载 Hive 分桶的原理

套话之分桶的定义:  分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储。对于 hive 中每一个表、分区都可以进一步进行分桶。列的哈希值除以桶的个数来决定每条数据划分在哪个桶中。(网上其它定义更详细,有点绕,结合后面实例)适用场景:数据抽样( sampling )、map-join干货之分桶怎么分:1.开启支持分桶set hive.enforce.bucke...

2019-12-23 15:35:57 991

转载 Hive的动态分区和静态分区

当我们在插入数据的时候指定分区,其实就是新建一个目录或者子目录,或者在原有的目录上添加数据文件。Hive分区的创建Hive分区是在创建表的时候用Partitioned by 关键字定义的,但要注意,Partitioned by子句中定义的列是表中正式的列,但是Hive下的数据文件中并不包含这些列,因为它们是目录名。静态分区创建一张静态分区表par_tab,单个分区...

2019-12-20 14:29:12 282

转载 分区、桶、Sort Merge Bucket Join

Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。其实这篇博文主要是想聊聊 SMB join 的,Join 是整个 MR/Hive 最为核心的部分之一,是每个 Hadoop/Hive/DW RD 必须掌握的部分,之前也有几篇文章聊到过 MR/Hive 中的 join,其实底层...

2019-12-13 16:08:06 317

转载 Scala中的柯里化

目录一、初识Currying柯里化二、从案例角度学习scala柯里化三、总结柯里化的作用一、初识Currying柯里化 柯里化(Currying)技术 Christopher Strachey 以逻辑学家 Haskell Curry 命名的(尽管它是 Moses Schnfinkel 和 Gottlob Frege 发明的)。它是把接受多个参数的函数变换成接受一个单一参...

2019-09-12 13:58:23 141

转载 UDAF和UDF的介绍

目录UDF介绍UDAF简介关于UDAF的一个误区使用UDF在SQL语句中使用UDF直接对列应用UDF(脱离sql)UDAF使用继承UserDefinedAggregateFunction继承AggregatorUDF介绍UDF(User Define Function),即用户自定义函数,Spark的官方文档中没有对UDF做过多介绍,猜想可能是认...

2019-09-10 11:17:39 1980

转载 Spark Broadcast(广播变量)总结

目录为什么要使用广播(broadcast)变量?Spark中Broadcast定义官网定义:Broadcast.scala类定义:为什么要使用广播(broadcast)变量? Spark中因为算子中的真正逻辑是发送到Executor中去运行的,所以当Executor中需要引用外部变量时,需要使用广播变量。进一步解释:如果executor端用到了Driver...

2019-09-06 13:49:07 1770

转载 编程范式:命令式编程(Imperative)、声明式编程(Declarative)和函数式编程(Functional)

目录命令式编程声明式编程函数式编程参考地址主要的编程范式有三种:命令式编程,声明式编程和函数式编程。命令式编程命令式编程的主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么。比如:如果你想在一个数字集合 collection(变量名) 中筛选大于 5 的数字,你需要这样告诉计算机:第一步,创建一个存储结果的集合变量 results; 第...

2019-09-03 18:07:29 423

转载 hive分区表增加字段新增字段值为空的bug

目录1.修改元数据2.删除当前分区重建3.更新指定分区的元数据 最近在查hive版本问题,发现在hive1.1.0和hive1.2.1上,分区表新增字段后新增字段值为空的情况。网上查了资料,提供了两种解决办法:1.修改元数据 修改hive元数据SDS表的CD_ID字段,原因是修改表结构后,元数据库中的SDS中该表对应的CD_ID会改变,但是该表分区下...

2019-09-02 15:42:50 557

原创 Hive中的排序order by、sort by、distribute by、cluster by的区别

目录1.原始数据2.order by3.distribute by、sort by4.cluster by1.原始数据假设原始数据如下,分别是每名学生的成绩单name coarse score小红 语文 88小明 数学 85小红 数学 82小明 语文 802....

2019-08-26 18:12:58 765

转载 Hive SQL优化之 Count Distinct

目录常规方式失败的优化成功的优化 Hive是Hadoop的子项目,它提供了对数据的结构化管理和类SQL语言的查询功能。SQL的交互方式极大程度地降低了Hadoop生态环境中数据处理的门槛,用户不需要编写程序,通过SQL语句就可以对数据进行分析和处理。目前很多计算需求都可以由Hive来完成,极大程度地降低了开发成本。 目前,Hive底层使用MapReduc...

2019-08-26 16:24:22 1626 2

转载 Scala中class、object、case class、case object区别

/** class、object、case class、case object区别 * * class 类似Java中的class; * object Scala不能定义静态成员,用定义单例对象代之; * case class被称为样例类,是一种特殊的类,常被用于模式匹配。 * * 一、class 和 object 关系: * 1.单例对象不能带参数,类可以 * ...

2019-08-25 12:36:43 152

转载 scala之list用法史上最全

Scala 列表类似于数组,它们所有元素的类型都相同,但是它们也有所不同:列表是不可变的,值一旦被定义了就不能改变,其 次列表 具有递归的结构(也就是链接表结构)而数组不是 下面是list的常用方法,当然了这不是所有的.但都是最常用的.具体看下面的demo.具体可以看代码里面的注释package test object listDemo { def m...

2019-08-23 11:18:07 459

转载 coalesce 与 repartition的区别

目录一.spark 分区 partition的理解二.coalesce 与 repartition的区别(我们下面说的coalesce都默认shuffle参数为false的情况)三.实例 1. coalesce 2. repartition四.总结一.spark 分区 partition的理解 spark中是以vcore级别...

2019-08-23 09:44:37 4328 1

转载 Git三大特色之Stage(暂存区)

目录 为什么 commit 之前要先 add 一下呢?Git 可以分为三个区Stage 赋予 Git 更多灵活性为什么 commit 之前要先 add 一下呢?我在刚接触 Git 命令的时候,对 Git 没什么概念,就是赶鸭子上线式的学习,用到什么,就去 Google 什么,例如第一天我搜索的就是“git first commit”,然后搜到很多 Git 的初级...

2019-08-20 19:40:57 496

转载 JAVA抽象类和抽象方法(abstract)

一、抽象(abstract)的使用  当父类的某些方法不确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]。  我们都知道,父类是将子类所共同拥有的属性和方法进行抽取,这些属性和方法中,有的是已经明确实现了的,有的还无法确定,那么我们就可以将其定义成抽象,在后日子类进行重用,进行具体化。这样,抽象类也就诞生了。  例如,定义了“动物”父...

2019-08-19 15:05:54 266

转载 HIVE常用命令之MSCK REPAIR TABLE

目录MSCK REPAIR TABLE 命令是做啥的例子后续MSCK REPAIR TABLE 命令是做啥的MSCK REPAIR TABLE命令主要是用来解决通过hdfs dfs -put或者hdfs api写入hive分区表的数据在hive中无法被查询到的问题。我们知道hive有个服务叫metastore,这个服务主要是存储一些元数据信息,比如数据库名,表名或者表...

2019-08-05 22:37:22 3339 1

转载 Lists.transform的使用案例

目录案例new FunctionLists.transform(myInfoList, new Function),string>案例 使用Lists.transform可以轻松完成从一种类型的list到另一种类型list的转换。代码:Set<String> result = Sets.newHashSet();result.addAl...

2019-08-01 18:14:35 1786

转载 JDK8 日期时间的优化LocalDateTime&LocalDate和LocalTime

目录一、简介二、日期初识三、时间初识四、比较与计算五、时区六、格式化七、相关类说明一、简介  在Java8之前,日期时间API一直被开发者诟病,包括:java.util.Date是可变类型,SimpleDateFormat非线程安全等问题。故此,Java8引入了一套全新的日期时间处理API,新的API基于ISO标准日历系统。    二、日期初识...

2019-07-04 14:10:55 1763

转载 Jetbrains系列产品 idea 2019.1.3最新激活方法

搜了很多地方破解intellij idea,都提示注册码无效,但是用这个网址是没有问题的。参看地址:https://zhile.io/2018/08/18/jetbrains-license-server-crack.html

2019-07-02 17:37:05 2910

转载 Java8的方法引用

目录一、概述二、什么是方法引用三、方法引用例子四、四种方法引用类型1、静态方法引用2、特定实例对象的方法引用3、任意对象(属于同一个类)的实例方法引用4、构造方法引用一、概述在学习lambda表达式之后,我们通常使用lambda表达式来创建匿名方法。然而,有时候我们仅仅是调用了一个已存在的方法。如下:Arrays.sort(stringsArray,(...

2019-06-28 19:06:46 228

转载 Java 中 Comparable 和 Comparator 比较

Comparable 简介Comparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设现在存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序。此外,“实现Compar...

2019-06-27 16:31:58 164

转载 Java中的默认方法介绍

目录一个简单的例子为什么要有默认方法默认方法的继承默认方法的多继承接口继承行为发生冲突时的解决规则接口与抽象类接口静态方法其他注意点 Java 8 引入了新的语言特性——默认方法(Default Methods)。Default methods enable new functionality to be added to the interf...

2019-06-27 14:08:09 891 1

转载 Java泛型之 ? extends T和 ? super T 的区别

目录extends和super的介绍extends规则super规则extends和super的介绍 关于Java泛型,这里我不想总结它是什么,这个百度一下一大堆解释,各种java的书籍中也有明确的定义,只要稍微看一下就能很快清楚.从泛型的英文名字Generic type也能看出,Generic普通、一般、通用的,是一个概括性的词,那么泛型从名字上也就好理解了,它是...

2019-06-26 20:31:54 129

转载 JDK8 新特性之 Stream

目录Stream API聚集操作如何使用StreamStream的创建Stream 常用方法Stream API的性能Stream API Java8新增的stream功能非常强大,这里的stream和Java IO中的stream是完全不同概念的两个东西。本文要讲解的stream是能够对集合对象进行各种串行或并发聚集操作,Stream API依赖于前...

2019-06-26 19:49:24 275

转载 Java中aop相关概念介绍

目录为什么要用aopaop术语介绍具体实践为什么要用aop1)就是为了方便,看一个国外很有名的大师说,编程的人都是“懒人”,因为他把自己做的事情都让程序去做了。用了AOP能让你少写很多代码,这点就够充分了吧。2)就是为了更清晰的逻辑,可以让你的业务逻辑去关注自己本身的业务,而不去想一些其他的事情。这些其他的事情包括:安全,事物,日志等等。aop术语介绍通知、...

2019-06-24 16:51:09 2288

原创 impala同步hive中的元数据&收集统计信息

目录impala获取hive中的元数据收集统计信息1. 检查统计信息2. 收集统计信息3. 删除统计信息impala获取hive中的元数据 impala 通常和Hive共用同一个metadata 数据库(通常是MySQL/PostgreSQL), 所以Impala 能够读取到Hive的元数据信息. 如果Impala需要访问Hive表, 需要将Hive ...

2019-06-21 15:56:36 1528

转载 Java中内部类的定义和使用

目录为什么要用到内部类内部类的分类和使用匿名类与内部的联系与区别内部类总结为什么要用到内部类 在java开发学习中我们经常会碰到内部类。内部类又有很多的优势:首先举一个简单的例子,如果你想实现一个接口,但是这个接口中的一个方法和你构想的这个类中的一个方法名称参数相同,你应该怎么办?这时候,你可以建一个内部类实现这个接口。由于内部类对外部类的所有内容都是可访问的...

2019-06-20 16:04:04 245

转载 Spark之RDD依赖关系及DAG逻辑视图

目录一、窄依赖解析二、宽依赖解析三、DAG生成的机制四、DAG逻辑视图解析  RDD依赖关系为成两种:窄依赖(Narrow Dependency)、宽依赖(Shuffle Dependency)。窄依赖表示每个父RDD中的Partition最多被子RDD的一个Partition所使用;宽依赖表示一个父RDD的Partition都会被多个子RDD的Partition所使用。一...

2019-06-18 18:01:40 315

转载 spark中dag的介绍

目录什么是DAGDAG 解决了什么问题DAG 是怎么工作的工作流程注意点DAG,全称 Directed Acyclic Graph, 中文为:有向无环图。在 Spark 中, 使用 DAG 来描述我们的计算逻辑。什么是DAGDAG 是一组顶点和边的组合。顶点代表了 RDD, 边代表了对 RDD 的一系列操作。DAG Scheduler 会根据 RDD 的 t...

2019-06-18 17:06:24 6062

原创 spark agg算子使用

1、agg(expers:column*) 返回dataframe类型 ,同数学计算求值df.agg(max("age"), avg("salary"))df.groupBy().agg(max("age"), avg("salary"))2、agg(exprs: Map[String, String])返回dataframe类型 ,同数学计算求值 map类型的df.agg(M...

2019-06-17 19:02:04 7466

转载 Spark中的宽窄依赖细述

Spark中RDD的高效与DAG图有着莫大的关系,在DAG调度中需要对计算过程划分stage,而划分依据就是RDD之间的依赖关系。针对不同的转换函数,RDD之间的依赖关系分类窄依赖(narrow dependency)和宽依赖(wide dependency, 也称 shuffle dependency)。宽依赖与窄依赖窄依赖是指父RDD的每个分区只被子RDD的一个分区所使用...

2019-06-14 10:58:47 865

转载 spark调优之shuffle调优

spark调优系列(一)开发调优spark调优系列(二) 资源调优spark调优系列(三)数据倾斜调优spark调优系列(四)shuffle调优------------------------------------------------------------------------------------------------------------------------...

2019-06-14 09:41:28 171

转载 spark调优之资源调优

spark调优系列(一)开发调优spark调优系列(二) 资源调优spark调优系列(三)数据倾斜调优spark调优系列(四)shuffle调优---------------------------------------------------------------------------------------------------------------------...

2019-06-12 19:46:07 123

转载 spark调优之开发调优

spark调优系列(一)开发调优spark调优系列(二) 资源调优spark调优系列(三)数据倾斜调优spark调优系列(四)shuffle调优---------------------------------------------------------------------------------------------------------------------...

2019-06-12 19:44:08 176

转载 spark调优之数据倾斜调优

spark调优系列(一)开发调优spark调优系列(二) 资源调优spark调优系列(三)数据倾斜调优spark调优系列(四)shuffle调优---------------------------------------------------------------------------------------------------------------------...

2019-06-12 17:35:36 195

转载 Hive的一些基本操作

目录1. Create Table1.1介绍1.2 语法1.3 基本示例1.4 创建分区2. Alter Table2.1 添加分区2.2 删除分区2.3 重命名表2.4 修改列/属性2.5 添加/替换列3. 创建视图4. 显示表5. 加载5.1 语法6. 插入6.1 INSERT语法6.2 WRITE语法7. 删除...

2019-06-05 17:45:28 236

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除