自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(332)
  • 资源 (14)
  • 问答 (4)
  • 收藏
  • 关注

转载 git 误删分支恢复方法

在使用git的过程中,因为人为因素造成分支(commit)被删除,可以使用以下步骤进行恢复。演示恢复过程1. 先创建一个分支git branch abc2. 查看分支列表git branch -a abc* develop remotes/origin-dev/develop3.切换到abc分支,随便修改一下东西后 commit#切换分支git ch...

2019-05-21 23:22:10 8192

转载 SparkSQL – 聊聊Join

Join背景介绍Join是数据库查询永远绕不开的话题,传统查询SQL技术总体可以分为简单操作(过滤操作-where、排序操作-limit等),聚合操作-groupBy等以及Join操作等。其中Join操作是其中最复杂、代价最大的操作类型,也是OLAP场景中使用相对较多的操作。因此很有必要聊聊这个话题。另外,从业务层面来讲,用户在数仓建设的时候也会涉及Join使用的问题。通常情况下,数据仓库...

2019-05-21 22:55:22 355

转载 Ubuntu 配置镜像代理

Ubuntu配置镜像源由于 apt-get 默认的源为国外服务,在使用 apt-get 软件时下载速度很慢,这时我们可以为 apt-get 设置成国内镜像代理常用的国内镜像站如下:清华大学镜像源 https://mirrors.tuna.tsinghua.edu.cn中科大镜像源 https://mirrors.ustc.edu.cn/repogen/北京大学镜像源 http://...

2019-04-20 10:29:51 2351 1

转载 ubuntu配置mail邮件服务器

背景:最近在看项目中前辈写过的shell,当成功或失败时有邮件发出,并且发送邮件的命令很简单,只是一个mail命令,由于之前不是很了解,所以简单看了一下,并在自己的虚拟机上测试了一下。所以此文的目的主要是给像我一样的新手入门参考的。环境:Ubuntu14.04, 没有安装mail命令摘要:ubuntu中sendmail函数可以很方便的发送邮件,ubuntu sendmail先要...

2019-04-14 14:28:55 11560 1

原创 Spark 解析XML文件到DataFrame

公司遇到一点需求,平时load文件基本上都是csv格式的文件,可是就有那么一个文件是xml文件,这也正常,因为文件是别的team推过来的,自然要遵循他们的格式,于是就要想办法解析xml文件。目标是把xml文件转换为DataFrame,然后写到表中。可是spark.reader并没有读取xml格式文件的方法,于是需要看有没有别的jar包辅助完成这项任务。百度google搜索之后,确实发现...

2019-03-26 18:40:24 6933 1

转载 HUE安装与使用

版本:centos6.4hue3.7.11、介绍HUE=Hadoop User Experience Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。 通过使用Hue我们可以在浏览器端的Web控制台上与Ha...

2019-01-30 15:42:10 6186 1

原创 hue hadoop hive 集成问题整理

1. 在hadoop集群中集成hive(多节点),出现拒绝链接问题,如下所示:Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient...

2019-01-30 14:53:23 797

原创 Spark 问题整理

问题一: Spark Job执行了两次由于job内部有一个逻辑,如果第一次失败,第二次重试已没有意义,那么就没有必要让它跑第二次,如下图所示:首先调查为什么默认是尝试两次,结果如下:<property> <name>yarn.resourcemanager.am.max-attempts</name> <value>...

2019-01-28 18:32:18 2451

原创 Scala Scalatest Maven 集成测试配置

第一篇:Scala Scalatest Maven 单元测试配置(测试报告和覆盖率报告)第二篇:Scala Scalatest Maven 集成测试配置最近在做单元测试的时候发现了一个问题,我使用静态变量存放环境信息,默认使用的是单元测试的环境(unitTest),可是跑到集成测试(integrationTest)的时候,发现环境信息依然是单元测试的环境信息。因为集成测试也是作为单元测试来...

2019-01-21 19:40:19 2525 1

原创 Apache Airflow 安装

安装环境:ubuntu 14.04root:root用户darren:普通用户(有sudo权限)安装:第一步:安装pythonsudo apt-get updatesudo apt-get install python3如果已经安装过python3,可以跳过此步。第二步:配置软连接sudo ln -s /usr/bin/python3.4 /usr/bin...

2019-01-14 19:29:12 6185 2

原创 Scala Scalatest Maven 单元测试配置(测试报告和覆盖率报告)

第一篇:Scala Scalatest Maven 单元测试配置(测试报告和覆盖率报告)第二篇:Scala Scalatest Maven 集成测试配置环境:Maven: 3.3.9Scala: 2.11.11Scalatest_2.11: 3.0.1这次配置单元测试没有使用Junit,网上很多的测试配置都是基于Junit的,所以查了很久终于找到了一些和scalatest配套...

2018-12-16 14:57:11 12314 6

转载 Spark的driver理解和executor理解

一、看了很多网上的图,大多是dirver和executor之间的图,都不涉及物理机器 如下图,本人觉得这些始终有些抽象看到这样的图,我很想知道driver program在哪里啊,鬼知道?为此我自己研究了一下,网友大多都说是对的有不同想法的请评论 二、现在我有三台电脑 分别是 192.168.10.82 –>bigdata01.hzjs.co 192.16...

2018-10-11 09:30:48 29385 4

转载 动态代理与静态代理区别

一、代理概念 为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。 图1:代理模式 从图中可以看出,代理接口(Subject)、代理类(ProxySubject)、委托类(RealSubject)形成一个“品”...

2018-09-18 09:26:55 27686 7

原创 MapReduce中Combiner的作用

问题提出:众所周知,Hadoop框架使用Mapper将数据处理成一个<key,value>键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出。    在上述过程中,我们看到至少两个性能瓶颈:如果我们有10亿个数据,Mapper会生成10亿个键值对在网络间进行传输,但如果我们只是对数据求最大值,那么很明显的Mapper只需要输...

2018-08-29 13:51:03 19840 3

转载 Yarn的JVM重用功能——uber

在文章开头,我想先做几点说明:本文的内容来自我对Yarn的相应功能的理解和实践。而我对该部分功能的理解主要来自对Hadoop的开发者之前相应言论的分析,并且我也将我的分析发给了Hadoop community, 并得到了Yarn的创始人兼架构师Arun Murthy的肯定回复。 本文中uber的配置部分,主要参考之前Hadoop开发者的言论。但是我当初看该言论的时候对一些细节有所疑惑,因此在...

2018-08-28 18:57:08 1416

转载 Spark启动时的master参数以及Spark的部署方式

我们在初始化SparkConf时,或者提交Spark任务时,都会有master参数需要设置,如下:conf = SparkConf().setAppName(appName).setMaster(master)sc = SparkContext(conf=conf)/bin/spark-submit \ --cluster cluster_name \ ...

2018-08-28 18:17:39 22191 2

转载 MapReduce:详解Shuffle过程

Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce, Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job 性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火,所以在这里...

2018-07-13 16:48:14 16593 12

转载 git reset soft,hard,mixed之区别深解

GIT reset命令,似乎让人很迷惑,以至于误解,误用。但是事实上不应该如此难以理解,只要你理解到这个命令究竟在干什么。首先我们来看几个术语HEAD:这是当前分支版本顶端的别名,也就是在当前分支你最近的一个提交Index:也被称为Staging area,是指一整套即将被下一个提交的文件集合。他也是将成为HEAD的父亲的那个commitWorking Copy:Working copy代表...

2018-07-03 13:32:04 2795

转载 深入理解Java并发之synchronized实现原理

线程安全是并发编程中的重要关注点,应该注意到的是,造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再进行,这种方式有个高尚的名称叫互斥锁,即能达到互斥访问目的的锁,也就是说当一个共享数据...

2018-06-08 19:08:11 470

转载 Oozie简介

在Hadoop中执行的任务有时候需要把多个Map/Reduce作业连接到一起,这样才能够达到目的。[1]在Hadoop生态圈中,有一种相对比较新的组件叫做Oozie[2],它让我们可以把多个Map/Reduce作业组合到一个逻辑工作单元中,从而完成更大型的任务。本文中,我们会向你介绍Oozie以及使用它的一些方式。什么是Oozie?Oozie是一种Java Web应用程序,它运行在Java ser...

2018-06-01 15:57:08 1512

转载 跟着示例学Oozie

在前一篇文章《Oozie简介》中,我们已经描述了Oozie工作流服务器,并且展示了一个非常简单的工作流示例。我们还描述了针对Oozie的工作流的部署和配置,以及用来启动、停止和监控Oozie工作流的工具。在本文中,我们会描述一个更加复杂的例子,通过它我们可以讨论更多Oozie特性,并演示如何来使用它们。定义过程我们在此描述的工作流会实现汽车GPS探测数据的获取过程。我们每个小时都会以文件的形式把探...

2018-05-31 18:25:13 1206

转载 Oozie扩展,自定义节点

在前面的两篇文章中[1,2],我们描述了Oozie工作流服务器,并且展示了几个工作流的示例。我们还描述了针对Oozie的工作流的部署和配置,以及用来启动、停止和监控Oozie工作流的工具。在本文中,我们会向你展示Oozie的可扩展性,并说明它是如何支持我们实现自定义的、协同工作的语言扩展。为什么需要自定义节点(Custom Node)?正如我们在文章[1]中所说明的,Oozie之所以与众不同,是因...

2018-05-31 10:25:36 1806

转载 Java虚拟机:Metaspace

被废弃的持久代想起之前面试的时候有面试官问起过我一个问题:Java 8为什么要废弃持久代即Metaspace的作用。由于当时使用的Java 7且研究重心不在JVM上,一下没有回答上来,今天突然想起这个问题,就详细总结一下这个问题。首先我们看一张JVM内存布局的图:注意到里面有一块METHOD AREA,它是一块线程共享的对象,名为方法区,在HotSpot虚拟机中,这块METHOD AREA我们可以...

2018-04-26 18:59:59 750

原创 Hadoop Context 写文件遇到的问题(reduce 100% 后失败)

场景:        我在一个reduce中同时使用了context.write 和multipleOutputs.write,         结果却打出了如下信息:2018-03-07 17:45:39,425 INFO [submiter1] org.apache.hadoop.mapreduce.Job: map 100% reduce 98%2018-03-07 17:45:44,4...

2018-03-08 10:21:21 2782

转载 32位系统最大只能支持4GB内存之由来

也许大家对这个问题都不陌生,实际装过系统用过电脑的朋友可能都有这样的经历:自己电脑配的是4G的内存条,可是装完系统之后发现电脑上显示的只有3.2G左右可用内存,其它的内存跑到哪去了?网上也有很多朋友给出了一些解释,大部分我觉得都没有解释得很清楚,今天我们就来看一下其中的具体缘由。  在此之前先来了解一些计算机系统结构和PC硬件方面的一些知识。一.总线结构和主板的构成  说起

2018-03-06 13:20:14 10766 2

转载 深入分析HTTP与HTTPS

在详细探究HTTP与HTTPS之前,先理清一下HTTP的基本概念:HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HT

2018-03-05 18:53:27 362

转载 HTTP 2.0 与HTTP 1.x 的区别

上图:连接无法复用上图:设置Connection:Keep-Alive,保持连接在一段时间内不断开。上图:HTTPpipelining:建立多个连接上图:多路复用先对HTTP协议进行简单介绍    1. HTTP协议 :Hyper Text Transfer Protocol(超文本传输协议),是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。是互联网...

2018-02-28 18:20:57 668

转载 Java9 新特性

1、Java9新特性之---目录结构包含jdk8及以前的jdk版本,所有目录结构以及目录含义如图:jdk9之后,目录结构发生变化如图:这个新特性只要了解下就可以了,这个目录结构是方便为了接下来新特性做保证2、Java9新特性之---JShell工具怎么理解,怎么用呢?这个只是针对于java9来说,相当于cmd工具,你可以和cm

2018-02-28 13:41:01 535 1

转载 Java 8的新特性—终极版

前言: Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级。在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java 8 – Lambdas and Concurrency、Java 8 Date Time API Tutorial : LocalDateTime和Abstract Class Ver

2018-02-28 11:38:08 345

转载 Impala和Hive的关系

Impala和Hive的关系         Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中。并且impala兼容Hive的sql解析,实现了Hive的SQL语义的子集,功能还在不断的完善中。与Hive的关系        Impala 与Hive都是构建在Had

2018-01-31 14:16:28 1572

原创 Impala 刷表的几种方式

摘要:在使用Impala的时候发现有人会使用Refresh table去刷新表,而有人会使用invalidate metadata table去刷新表,再有者会使用alter table tablename recover partitions去刷新表,当不熟悉的时候,就容易用错,或者三种一起用。网上关于Impala的中文资料还是比较的少,今天就来简单了解一下这几种刷表方式以及区别。

2017-12-28 13:23:59 16282

原创 Hadoop 传递参数的四种方式

摘要: 在学习使用Hadoop的时候肯定会遇到以下问题,想当然的定义一些静态全局变量,好让mapper和reducer能够访问到这些变量里边的内容,然后兴高采烈的去写代码,最后得到空指针异常,很懊恼,怎么就不行呢,打破了传统对java的理解。        其实对java的理解没有错,只是对Hadoop架构的理解错了,为什么全局静态变量访问不到,是因为启动job的程序和运行job的程序不在同一

2017-08-24 12:01:38 6573 1

原创 Nginx+Tomcat+其他存储 负载均衡配置和session共享资料整理及例子

摘要:今天这篇文章并非真正的原创文章,只是最近想了解一下负载均衡相关的知识,查阅了很多资料,也亲自在本机配置测试,之后想整理一下,网上资料虽多但是比较杂乱,大部分人转载却并没有亲自尝试,多次转载之后就不太正确了,导致很多人照着例子模仿学习的时候遇到很多问题,所以今天想把我实验过的内容整理出来供大家学习参考,也供自己复习。希望对他人和自己能有所帮助。第一步:安装Nginx我选

2017-08-10 18:22:29 905

转载 su incorrect password问题 su无法切换用户问题 以及权限s、t、i、a补充

摘要:最近遇到一个问题,在测试环境上发现使用su无法切换账户,但是这两个账户都是可以登录的,于是就开始百度,找到了解决问题的办法。解决方案如下:第一步:使用root用户登录系统,或者有root权限的用户登录第二步:查看文件权限,例如ll -a /bin/sull -a /usr/bin/passwd观察显示结果,正确

2017-07-31 11:43:31 34919 4

转载 PostgreSQL 创建分区表,SQL优化之PostgreSQL Table Partitioning

典型使用场景        随着使用时间的增加,数据库中的数据量也不断增加,因此数据库查询越来越慢。        加速数据库的方法很多,如添加特定的索引,将日志目录换到单独的磁盘分区,调整数据库引擎的参数等。这些方法都能将数据库的查询性能提高到一定程度。        对于许多应用数据库来说,许多数据是历史数据并且随着时间的推移它们的重要性逐渐降低。如果能找到一个办法

2017-06-27 18:39:32 25249 4

原创 Java 调用Restful API接口的几种方式--HTTPS

摘要:最近有一个需求,为客户提供一些Restful API 接口,QA使用postman进行测试,但是postman的测试接口与java调用的相似但并不相同,于是想自己写一个程序去测试Restful API接口,由于使用的是HTTPS,所以还要考虑到对于HTTPS的处理。由于我也是首次使用Java调用restful接口,所以还要研究一番,自然也是查阅了一些资料。分析:这个问题与模块之间的调用不

2017-06-20 10:29:37 54470 3

转载 eclipse的异常断点和条件断点设置方式

1、异常断点     今天在运行代码的时候,代码逻辑上没问题,但是就运行时会会出现异常,也不好打断点,从网上了解了一下,有一个异常断点,设置好后,就会在出现异常的时候自动挂起断点。是不是很爽。设置步骤:1、用Debug视图打开项目 2、设置你想设置的异常3

2017-06-14 15:11:09 2287

转载 Linux 端口转发 端口映射

摘要:端口转发也称端口映射,基本使用的有两种方式,本机端口转发,跨IP端口转发。本机端口转发应用场景:我要搭建一台Linux server,使用tomcat作为web容器,让别人维护web项目的发布,这时候会给他们一个普通用户(非root用户)。分析:tomcat的默认端口是8080,所有用户都可以启动,但是除内部系统外,一般我们会选择使用80作为端口,可是普通

2017-06-13 11:13:10 188970 5

原创 JMS Activemq实战例子demo

上一篇已经讲了JMS的基本概念,这一篇来上手练一练,如果对JMS基本概念还不熟悉,欢迎参靠JMS基本概。这篇文章所使用的代码已经不是我刚入手时的代码,已经经过我重构过的代码,便于理解,并且加了很多中文注释,希望对大家有所帮助。在基本概念一篇中已经讲到,JMS有两种消息模型,一种是点对点,另一种的发布/订阅模式。本篇文章就基于这两种消息模型来写例子。点对点模型

2017-05-26 18:48:02 831

原创 JMS基本概念

简介:        JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。        JMS是一种与厂商无关的 API,用来访问消息收发系统消息

2017-05-23 13:59:14 1645

PHP的安装与环境配置

PHP的安装与环境配置帮助第一次学习php的同学

2013-06-19

php虚拟主机的配置

帮助刚学习php的同学学习如何配置虚拟主机以及在一台机器上配置多个虚拟主机的方法

2013-06-24

Development environment configuration

方便大家对开发环境的配置,内容包括对eclipse的参数设置,以及配置maven和gwt环境

2014-09-18

JFrameChart 使用例子

JFrameChart 使用例子 使用 JFrameChart 制作简单的柱状图

2013-03-03

Tomcat7安装版

Tomcat7安装版,适合不熟悉配置环境的用户使用

2012-10-20

自定义弹出窗口

自定义的可编辑的弹出窗口,用于输入框编写不下时使用

2012-10-14

Java数据结构和算法.

Java版的数据结构

2014-10-14

Tomcat6安装版

安装版Tomcat,方便不会配置的用户使用

2012-10-20

Struts2.1.8所依赖的主要包

Struts2.1.8所依赖的主要包,主要包括stuuts2的六个核心jar包

2012-09-25

Tomcat6免安装版

免安装的tomcat,方变移动,适合集体开发

2012-10-20

JDK API7.0

JDK API 7.0是java的开发帮助文档,可以查询一些方法属性等

2012-09-25

memcached win32 and win64

分布式缓存windows 服务端 使用地址: http://blog.csdn.net/zpf336/article/details/44408095

2015-03-18

Jquery自动补全

用于输入框的自动补全,当输入可匹配项时,服务端会根据匹配的信息给出提示

2012-10-14

Struts2单文件下载

使用Struts2实现文件的下载,现在只支持单文件下载,

2012-10-17

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

TA关注的人

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