- 博客(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
memcached win32 and win64
2015-03-18
命令行trigger airflow一直处于running状态
2019-03-14
请问 shuffle and sort in MapReduce这幅图出自哪里?
2018-07-05
MapReduce 如何加载本地库
2018-06-26
Mac 机器上如何配置启用PDO
2015-09-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅