自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Simple 专栏

simple for fun

  • 博客(176)
  • 资源 (3)
  • 收藏
  • 关注

转载 VMware虚拟机三种网络模式详解(三)Host-Only(仅主机模式)

三、Host-Only(仅主机模式)Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。其网络结构如下图所示:通过上图,我们可以发现,如果要使得虚拟机能联网,我们可以将主...

2019-08-21 20:42:51 1646

转载 VMware虚拟机三种网络模式详解(二)NAT(地址转换模式)

二、NAT(地址转换模式)刚刚我们说到,如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图所示:在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那么我们会觉得很奇怪...

2019-08-21 20:41:49 475

转载 VMware虚拟机三种网络模式详解(一)Bridged(桥接模式)

由于Linux目前很热门,越来越多的人在学习Linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有VMware Workstations和VirtualBox等。在使用虚拟机软件的时候,很多初学者都会遇到很多问题,而VMware的网络连接问题是大家遇到最多问题之一。在学习交流群里面,几乎每天都会有同学问到这些问题,写这篇详解也是因为群...

2019-08-21 20:38:04 999

原创 Hive 行列互换经典题

collect_list( [列名]) 将某一列转换成数组 不去重 collect_set( [列名]) 将某一列转换成数组 去重 concat_ws([分割符],[数组]) 将数组按照分割符转换成字符串 split( [列名],[分割符]) 将字符串切分成 数组 explode( [数组] ) 将数组炸开成行 posexplode( ...

2019-07-21 19:10:58 518

原创 Mac idea快捷键

Mac 键盘符号和修饰键说明⌘ ——> Command⇧ ——> Shift⌥ ——> Option⌃ ——> Control↩︎ ——> Return/Enter⌫ ——> Delete⌦ ——> 向前删除键(Fn + Delete)↑ ——> 上箭头↓ ——> 下箭头← ——> 左箭头→ ——> 右箭头⇞...

2019-07-01 19:43:51 20441 2

原创 Hive 时间函数

to_date:日期时间转日期函数select to_date('2015-04-02 13:34:12');输出:2015-04-02from_unixtime:转化unix时间戳到当前时区的时间格式select from_unixtime(1323308943,’yyyyMMdd’);输出:20111208unix_timestamp:获取当前unix时间戳select un...

2019-06-30 18:24:04 16608

原创 Hive Joins详解 【left / right / full / left semi】

Hive官方语法join_table: table_reference table_factor [join_condition] | table_reference {LEFT|RIGHT|FULL} [OUTER] JOIN table_reference join_condition | table_reference LEFT SEMI JOIN table_r...

2019-06-30 16:49:10 349

原创 Hive Fetch.task

Fetch抓取是指,在 hive-default.xml.templaet 文件中,hive.fetch.task.conversion 属性。该属性在 Hive 中对某些情况的查询可以不使用 MapReduce 计算,而使用 fetch task 来执行。<property> <name>hive.fetch.task.conversion</na...

2019-06-26 08:50:52 230

原创 Hive 建表语句

Hive 建表语句CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ....

2019-06-25 21:22:27 1978

原创 动态路由 与 静态路由

定义静态路由:是指路由器中设置固定的路由表,除非网络管理员进行干预,否则静态路由项不会发生变化。 动态路由:是指路由器能够自动建立路由表,根据网络中路由器之间通信,传递信息,利用收到的路由信息更新路由表。优点静态路由:简单、高效、可靠、网络安全、转发效率高、不占用网络带宽。 动态路由:灵活,能够自动适应网络结构的变化,无需管理员手工维护,减轻了管理员的工作负担。缺点静态路由:网...

2019-01-20 15:34:20 2671 1

原创 算法图解 读书笔记(下)

五、散列表(Hash)散列函数: 散列函数是这样的函数,即无论你给它什么数据,它都还你一个数字。 散列(哈希)函数应用广泛: 快速查找 文件安全性传输交验 可以防止重复 (一旦发现重复,该哈希函数就不安全了。也就是说被破译了。) 缓存/ 记住数据,以免服务器再通过处理来生成它们。 散列表的填装因子 = (散列表包含的元素数)/(位置总数) 填装因子越低,发生冲突的可能性越小,散列...

2019-01-16 14:58:58 226

原创 算法图解 读书笔记(上)

最近看了一本算法入门书——算法图解。封面的插画很好玩儿。最吸引我的还是封面里的一句话:向小说一样有趣的算法入门书。上个封面,大家感受一下:一、算法简介1.1 二分查找 一个有序数组中找一个数的位置(对应该数字所在数组下标index)def binary_search(list, item): low = 0 high = len(list) - 1 ...

2019-01-16 12:33:27 276

原创 MongoDB、Hbase、Redis等NoSQL分析

NoSQL的四大种类NoSQL数据库在整个数据库领域的江湖地位已经不言而喻。在大数据时代,虽然RDBMS很优秀,但是面对快速增长的数据规模和日渐复杂的数据模型,RDBMS渐渐力不从心,无法应对很多数据库处理任务,这时NoSQL凭借易扩展、大数据量和高性能以及灵活的数据模型成功的在数据库领域站稳了脚跟。目前大家基本认同将NoSQL数据库分为四大类:键值存储数据库,文档型数据库,列存储数据库和...

2019-01-03 19:27:03 314

原创 Scala stream view

Stream是一个集合这个集合,可以用于存放,无穷多个元素,但是这无穷个元素并不会一次性生产出来,而是需要用到多大的区间,就会动态的生产,末尾元素遵循lazy规则(即:要使用结果才进行计算的) 。1)  使用#::得到一个stream def numsForm(n: BigInt) : Stream[BigInt] = n #:: numsForm(n + 1) 2)...

2018-12-30 18:43:32 301

原创 Scala reduce fold scan

reduce 化简将二元函数引用于集合中的函数。// 源码 reducedef reduce[A1 &gt;: A](op: (A1, A1) =&gt; A1): A1 = reduceLeft(op)// 源码 reduceLeftoverride /*TraversableLike*/def reduceLeft[B &gt;: A](f: (B, A) =&gt; B)...

2018-12-28 18:42:30 486

原创 Scala zip iterator

Zip 拉链(合并)在开发中,当我们需要将两个集合进行 对偶元组合并,可以使用拉链。// 拉链val list1 = List(1, 2 ,3)val list2 = List(4, 5, 6)val list3 = list1.zip(list2) //((1,4), (2,5),(3,6))println("list3=" + list3)注意事项:拉链的本质就是两...

2018-12-28 11:34:03 313

转载 【开发实践】美团为什么开发 Kylin On Druid(下)

在上篇文章里,我们比较了 Kylin 和 Druid 这两个重要的 OLAP引擎的特点,也分析了 Kylin on HBase 的不足,得出了使用 Druid 代替 HBase 作为 Kylin 存储的方案,最后介绍了美团开发的 Kylin on Druid 的架构和流程。在这篇文章中,我们接着上篇文章,将介绍如何使用 Kylin on Druid,Kylin on Druid 的性能表现,以及在...

2018-12-27 19:54:36 343 1

转载 【开发实践】美团为什么开发 Kylin On Druid(上)

在大数据分析领域,Apache Kylin 和 Apache Druid (incubating) 是两个普遍使用的 OLAP 引擎,都具有支持在超大数据上进行快速查询的能力。在一些对大数据分析非常依赖的企业,往往同时运行着 Kylin 和 Druid 两套系统,服务于不同的业务场景。 在2018年8月的 Apache Kylin Meetup 活动上,美团点评技术团队分享了他们的 Kylin...

2018-12-26 17:46:24 481

原创 Scala Match

Scala中提供了比java,c更加强大的switch语句——match,而且不用担心因为忘记写break语句而发生case穿透。1.更好的 switch 与if,类似match也是表达式// 匹配字符的函数def charMatch(c: Char) = c match { case '+' =&gt; 1  case '-' =&gt; -1  case _ =&gt; ...

2018-11-30 11:34:50 530

原创 Scala flatMap filter

flatMap 与 filter 这两个都是高阶函数,参数均接收一个函数。 flatMap:flat即压扁,压平,扁平化。效果就是将集合中的每个元素的子元素映射到某个函数并返回新的集合。 object testFlatMap { def main(args: Array[String]): Unit = { val names = List("About", "...

2018-11-20 10:21:59 877

原创 Scala Set 集

集是不重复元素的结合。集不保留顺序,默认是以哈希集实现Java 中 Setjava中,HashSet 是实现 Set&lt;E&gt; 接口的一个实体类,数据是以哈希表的形式存放的,里面的不能重复数据。Set 接口是一种一个不包含重复元素的 collection, HashSet 中的数据也是没有顺序的。import java.util.HashSet;public class ...

2018-11-19 17:03:33 160

原创 Scala Map 映射

Java中的 MapHashMap 是一个散列表 (数组 + 链表) ,它存储的内容是键值对 (key-value) 映射,Java中的HashMap是无序的。import java.util.HashMap;public class TestJavaMap { public static void main(String[] args) { HashMap&l...

2018-11-19 16:48:08 1140

原创 Scala 队列

队列是一个有序列表,在底层可以用数组或是链表来实现 其输入和输出要遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出。 在Scala中,由设计者直接给我们提供队列类型使用。 在Scala中,有 scala.collection.mutable.Queue 和 scala.collection.immutable.Queue ,一般来说我们在开发中通常使用可变集合中的队列 ...

2018-11-19 15:32:12 1833

原创 Scala 伴生类 伴生对象

object AccompanyObject { def main(args: Array[String]): Unit = { println(ScalaPerson.sex) //true 在底层等价于 ScalaPerson$.MODULE$.sex() ScalaPerson.sayHi() //在底层等价于 ScalaPerson$.MODULE$....

2018-11-16 18:50:48 1458

原创 数据库 SQL 与 NoSQL 的区别与联系

NoSQL也称为Not only SQL可理解为,除关系型数据库以外的其他数据库系统的统称。特点,菲关系型、分布式、分布式、不提供ACID的数据库设计模式等特征。RDBMSRDBMS即关系数据库管理系统(Relational Database Management System),是将数据组织为相关的行和列的系统,而管理关系数据库的计算机软件就是关系数据库管理系统。NoSQL与...

2018-11-16 15:48:10 2843 1

原创 Java 动态绑定

动态绑定:在程序运行过程中,根据具体的实例对象才能具体确定是哪个方法。动态绑定是多态性得以实现的重要因素,它通过方法表来实现:每个类被加载到虚拟机时,在方法区保存元数据,其中,包括一个叫做方法表(methodtable)的东西,表中记录了这个类定义的方法的指针,每个表项指向一个具体的方法代码。如果这个类重写了父类中的某个方法,则对应表项指向新的代码实现处。从父类继承来的方法位于子类定义的方法的...

2018-11-16 11:59:23 194

原创 Scala 对象创建流程分析

object ObjectCreate { def main(args: Array[String]): Unit = { var p: Person = new Person("jack", 20) }}class Person { var age: Short = 90 var name: String = _ def this(n: String, a:...

2018-11-14 11:43:58 784

原创 函数式编程与面向对象编程的比较

函数式编程作为结构化编程的一种,正在受到越来越多的重视。工程中不在只是面向对象编程,更多的人尝试着开始使用函数式编程来解决软件工程中遇到的问题。            什么是函数式编程?在维基百科中给出了详细的定义,函数式编程(英语:functional programming)或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。...

2018-11-13 09:25:08 1633

转载 美团大数据平台

今天给大家介绍的内容主要包括以下四个部分首先是介绍一下美团大数据平台的架构,然后回顾一下历史,看整个平台演进的时间演进线,每一步是怎么做的,以及一些挑战和应对策略,最后总结一下,聊一聊我对平台化的看法。    谢语宸是来自美团的大数据构建平台的架构师。他在QCon2016北京站分享了一些整体上构建大数据平台的方法,除了聚焦在某一个点上的还有构建整体的大数据,以及各种各样技术的应用,希望能给大家...

2018-11-02 10:54:33 15409 3

原创 2018 大数据面试 内容事业部

baidu介绍自己的项目 项目的数据量有多大 zookeeper在follower死掉后,如何重新选举? hdfs的数据存储和读取过程? hdfs在数据存储过程中,如何保证副本的数据一致性? 当时我没想起来,于是被问道,如果是你设计,你会如何实现hdfs数据写入的一致性? 如果hdfs在所有副本都把数据都写入完了,再记录元数据信息,会不会很慢? spark的yarn模式? 写代...

2018-11-02 08:44:35 725

原创 2018 Hbase资深工程师

didi第一个面试官介绍项目? HBase的架构? HBase的读写的整个流程? HBase的主键设计? 对Phoenix有什么优化? hive的分区表,hive的分桶表,有什么区别? zookeeper的数据结构? zookeeper如何实现的数据一致性? 如果需要你去实现zookeeper的数据一致性,你会如何去设计? hashMap的底层? 并发下面的包你了解多少...

2018-11-02 08:40:49 278

原创 【狮猿农奴畜】我们到底在哪?

正如标题所示:码畜  --  码奴  --  码农  --  程序猿  --  攻城狮  --  人  --  神  神:BAT通用名词,科学家,具体工作内容不详... 人:BAT通用名词,资深、专家,专研各领域核心技术,研发工具。 狮:在最前线当炮灰,为业务上线而玩命,擅长修改各种工具类。 猿:生活在树上,喜欢瞎鸡巴折腾,一般开发工具类。 农:以耕地为主,守着自己的一亩三分地...

2018-10-24 10:23:34 290

原创 Hadoop 面试大全

 Hadoop 源码编译 HDFS 相关问题HDFS 写数据流程 HDFS 读数据流程 NameNode 与 SecondaryNameNode工作机制 Namenode 故障处理方法 DataNode 工作机制 服役新数据节点 退役旧数据节点 MapReduce 相关问题MapTask 工作机制  Shuffle 工作机制 ReduceTask工作机制...

2018-10-11 17:18:34 276

原创 Hive 开窗函数

什么时候用开窗函数?开窗函数常结合聚合函数使用,一般来讲聚合后的行数要少于聚合前的行数,但是有时我们既想显示聚集前的数据,又要显示聚集后的数据,这时我们便引入了窗口函数。窗口函数的语法UDAF() over (PARTITION By col1,col2 order by col3 窗口子句(rows between .. and ..)) AS 列别名注意:PARTITION ...

2018-10-10 18:42:42 1781 1

原创 星型模型 与 雪花模型

星型模型和雪花模型在多维分析的商业智能解决方案中,根据事实表和维度表的关系,又可将常见的模型分为星型模型和雪花型模型。在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型还是雪花型模型进行组织。星型模型当所有维表都直接连接到“ 事实表”上时,整个图解就像星星一样,故将该模型称为星型模型。星型模型 星型架构是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相连接...

2018-10-10 09:49:01 2389

原创 数据库 与 数据仓库 区别

数据库与数据仓库的区别 了解数据库与数据仓库的区别之前,首先掌握三个概念。数据库软件、数据库、数据仓库。数据库软件:是一种软件,可以看得见,可以操作。用来实现数据库逻辑功能。属于物理层。 数据库:是一种逻辑概念,用来存放数据的仓库。通过数据库软件来实现。数据库由很多表组成,表是二维的,一张表里可以有很多字段。字段一字排开,对应的数据就一行一行写入表中。数据库的表,在于能够用二维表现多...

2018-10-10 09:28:44 502

原创 Hive 与 数据库比较

由于Hive采用了类似SQL的查询语言HQL(Hive Query Language),因此很容易将Hive理解为数据库。其实从结构上来看,Hive和数据库除了拥有类似的查询语言,再无类似之处。本文将从多个方面来阐述Hive和数据库的差异。数据库可以用在Online的应用中,但是Hive是为数据仓库而设计的,清楚这一点,有助于从应用角度理解Hive的特性。查询语言...

2018-10-09 20:33:02 753

原创 Hive 架构原理 运行机制

Hive 架构图如图中所示,Hive通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Hadoop中执行,最后,将执行返回的结果输出到用户交互接口。1.用户接口:ClientCLI(command-line interface)、JDBC/ODBC(jdbc...

2018-10-09 20:28:56 3034

原创 Hive 基本概念

Hive 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可...

2018-10-09 20:16:13 274

原创 Hive MetaStore 元数据库 表分析及操作

在安装Hive时,需要在hive-site.xml文件中配置元数据相关信息。与传统关系型数据库不同的是,hive表中的数据都是保存的HDFS上,也就是说hive中的数据库、表、分区等都可以在HDFS找到对应的文件。这里说到的元数据可以理解成hive中用于保存数据库、表、分区或者表字段等基本属性,以及这些属性与HDFS文件对应关系的一个映射。  这些映射关系比较常见的一个场景是保存在mysql数据...

2018-10-09 15:18:28 5228

Hive优化.docx

Join 查找操作的基本原则:应该将条目少的表/子查询放在 Join 操作符的左边。原因 是在 Join 操作的 Reduce 阶段,位于 Join 操作符左边的表的内容会被加载进内存,将 条目少的表放在左边,可以有效减少发生内存溢出错误的几率。 Join 查找操作中如果存在多个 join,且所有参与 join 的表中其参与 join 的 key 都相 同,则会将所有的 join 合并到一个 mapred 程序中。

2019-07-01

分布式一致性原理与实践

介绍了几种分布式协议,重点讲解Zookeeper高可用服务搭建。

2018-09-02

阿里Java开发规范

2017年10月14日杭州云栖大会,Java代码规约扫描插件全球首发仪式正式启动,规范正式以插件形式公开走向业界,引领Java语言的规范之路。目前,插件已在云效公有云产品中集成,立即体验!(云效>公有云>设置->测试服务->阿里巴巴Java代码规约)。

2018-09-02

空空如也

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

TA关注的人

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