自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Anaconda 安装R环境,安装Package和配置镜像,R语言Helloworld程序

在安装之前,先检查一下本地的环境有哪些: 接着创建一个R环境: 然后切换到新建的r环境: conda activate r 接着安装r: conda install r 过程大概如下: 过程中遇到一些问题: 有些安装包由于网络问题不能下载完全,如下所示: ...

2020-02-24 17:16:23 255 0

原创 Cloudera Hadoop 集群安装(三台机器)

简述:Hadoop的安装对环境有比较高的要求,需要比较大的内存,一般的机器很难满足,一个人也很难有两三台独立的主机,所以只能选择使用安装虚拟机的方式安装,但是主机的内存需要在8G以上。如果小于8G可以扩展内存后再做尝试。 公司使用的hadoop一般都不是apache下的hadoop,而是c...

2020-02-19 16:28:46 4981 4

转载 Javascript This.作用域.闭包

JavaScript是个有点神奇的语言,不过它的一些独有的特性往往让我们初学者感到费解。This是Javascript语言的一个关键词。不过它到底是指什么呢?很多人都会认为this指的是当前对象。当然,这样理解是没错的,但是在有些情况下仍然会有些问题。在此,我搜集了一些资料,重新学习并整理一下,希...

2020-02-19 16:23:04 1351 0

转载 MAPE(Mean Absolute Percentage Error)和WMAPE有何不同,为什么用WMAPE来评估销量预测

MAPE(Mean Absolute Percentage Error)是用来做销量预测最常用的指标,在实际的线上线下销量预测中有着非常重要的评估意义。但是在实际的项目过程中发现,有些时候的指标并不能非常好的表示模型拟合的效果,因此对这部分进行了深入分析,发现有更优化的评价指标来度量销量预测问题。...

2020-02-18 14:20:37 740 0

转载 python with as的用法

With语句是什么? 有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。 如果不用with语句,代码如下: file = open(&qu...

2019-12-26 16:38:12 290 0

转载 Thread类中的join()方法原理

join()是Thread类的一个方法。根据jdk文档的定义: public final void join()throws InterruptedException: Waits for this thread to die. join()方法的作用,是等待这个线程结束;但显然,这样的定...

2019-11-14 16:36:21 324 0

转载 Spark 如何并行执行多个job

对于Spark这样的分布式计算系统,任务会分发到多台机器上执行。如何榨干有限的集群资源来实现快速并行计算,是需要考虑的重要问题之一。而这个问题又可以拆解为:如何将有限的集群资源都分配给Spark使用;如何将分配到的资源都利用起来。本文的话题属于后者的范畴,将从笔者在实践中遇到的场景出发,探讨如何在...

2019-10-30 16:31:54 822 0

转载 从PageRank Example谈Spark应用程序调优

最近在做BigData-Benchmark中PageRank测试,在测试时,发现有很多有趣的调优点,想到这些调优点可能是普遍有效的,现把它整理出来一一分析,以供大家参考。BigData-Benchmark中的Spark PageRank采用的是Spark开源代码examples包里的PageRan...

2019-09-26 18:02:49 302 0

转载 Spark中的Spark Shuffle详解

Shuffle简介 Shuffle描述着数据从map task输出到reduce task输入的这段过程。shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过shuffle这个环节,shuffle的性能高低直接影响了整个程序的性能和吞吐量。因为在分布式情况...

2019-09-20 16:14:19 109 0

转载 Apache Spark 统一内存管理模型详解

本文将对 Spark 的内存管理模型进行分析,下面的分析全部是基于 Apache Spark 2.2.1 进行的。为了让下面的文章看起来不枯燥,我不打算贴出代码层面的东西。文章仅对统一内存管理模块(UnifiedMemoryManager)进行分析,如对之前的静态内存管理感兴趣,请参阅网上其他文章...

2019-09-18 17:49:56 124 0

原创 gradle compileScala 出现 java.lang.StackOverflowError (no error message)

问题: * What went wrong: Execution failed for task ':data-model:compileScala'. > java.lang.StackOverflowError (no error message) * Try:...

2019-07-08 13:15:30 976 0

原创 Scoverage 插件在jenkins下不能显示问题

plugin: 'org.scoverage' https://github.com/scoverage/gradle-scoverage/tree/2.5.0 问题描述: 使用scoverage生成的覆盖了报告可以在本地用浏览器打开,但是使用jenkins执行过CI/C...

2019-07-08 12:55:32 219 0

转载 git 仓库迁移

一、完全迁移(包括分支,标签和日志) git clone --mirror <URL to my OLD repo location> cd <New directory where your OLD repo was cloned> git remote set-ur...

2019-06-28 22:12:09 71 0

转载 如何获取Maven工程的project.version信息

我敢打赌,您曾经遇到过在命令行上获得Maven项目版本的情况。所以问题是如何得到它?我已经看到了很多解决方案,通过使用Linux工具,如grep, cat或awk等,也看到了很多解决方案, 如使用这样的exec-maven-plugin: VERSION=$(mvn -q \ -Dexe...

2019-06-25 23:09:35 2344 0

转载 maven lifecycle, phase and goal

当我们在使用Maven做一些工作,如打包,编译,运行测试等等任务时,我们已经使用到了Maven中的几个重要概念: lifecycle phase goal 例如,如果我们使用ant打包,我们需要清晰的在脚本中告诉ant 源代码在哪,打包的目标文件类型如jar,目标文件夹在哪。首先要编译,然...

2019-06-21 09:13:30 497 0

原创 Scala 拉链操作(zip,zipWithIndex)

package com.darren.zip /** * @Author Darren Zhang * @Date 2019-06-03 * @Description TODO **/ object Zip { def main(args: Array[String]): ...

2019-06-03 23:36:40 966 0

转载 Spark 读写CSV的常用配置项

Spark 2.0 之前,Spark SQL 读写 CSV 格式文件,需要 Databricks 官方提供的 spark-csv 库。在 Spark 2.0 之后,Spark SQL 原生支持读写 CSV 格式文件。 测试带标题的文件如下: id|name|age 1| darren |18 ...

2019-06-03 23:13:34 6636 4

转载 git 误删分支恢复方法

在使用git的过程中,因为人为因素造成分支(commit)被删除,可以使用以下步骤进行恢复。 演示恢复过程 1. 先创建一个分支 git branch abc 2. 查看分支列表 git branch -a abc * develop remotes/origin-dev/d...

2019-05-21 23:22:10 1834 0

转载 SparkSQL – 聊聊Join

Join背景介绍 Join是数据库查询永远绕不开的话题,传统查询SQL技术总体可以分为简单操作(过滤操作-where、排序操作-limit等),聚合操作-groupBy等以及Join操作等。其中Join操作是其中最复杂、代价最大的操作类型,也是OLAP场景中使用相对较多的操作。因此很有必要聊聊这...

2019-05-21 22:55:22 52 0

转载 Ubuntu 配置镜像代理

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

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

转载 ubuntu配置mail邮件服务器

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

2019-04-14 14:28:55 1399 0

原创 Spark 解析XML文件到DataFrame

公司遇到一点需求,平时load文件基本上都是csv格式的文件,可是就有那么一个文件是xml文件,这也正常,因为文件是别的team推过来的,自然要遵循他们的格式,于是就要想办法解析xml文件。 目标是把xml文件转换为DataFrame,然后写到表中。 可是spark.reader并没有读取xm...

2019-03-26 18:40:24 2124 0

转载 HUE安装与使用

版本: centos6.4 hue3.7.1 1、介绍 HUE=Hadoop User Experience Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于...

2019-01-30 15:42:10 1229 0

原创 hue hadoop hive 集成问题整理

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

2019-01-30 14:53:23 174 0

原创 yarn 问题整理

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

2019-01-28 18:32:18 349 0

原创 Scala Scalatest Maven 集成测试配置

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

2019-01-21 19:40:19 534 0

原创 Apache Airflow 安装

安装环境: ubuntu 14.04 root:root用户 darren:普通用户(有sudo权限) 安装: 第一步:安装python sudo apt-get update sudo apt-get install python3 如果已经安装过python3,可以跳过此步。 ...

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

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

第一篇:Scala Scalatest Maven 单元测试配置(测试报告和覆盖率报告) 第二篇:Scala Scalatest Maven 集成测试配置 环境: Maven: 3.3.9 Scala: 2.11.11 Scalatest_2.11: 3.0.1 这次配置单元测试没有使用...

2018-12-16 14:57:11 2032 2

转载 Spark的driver理解和executor理解

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

2018-10-11 09:30:48 9750 2

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

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

2018-09-18 09:26:55 10870 2

原创 MapReduce中Combiner的作用

问题提出: 众所周知,Hadoop框架使用Mapper将数据处理成一个&lt;key,value&gt;键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出。      在上述过程中,我们看到至少两个性能瓶颈: 如果我们有10亿个...

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

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

在文章开头,我想先做几点说明: 本文的内容来自我对Yarn的相应功能的理解和实践。而我对该部分功能的理解主要来自对Hadoop的开发者之前相应言论的分析,并且我也将我的分析发给了Hadoop community, 并得到了Yarn的创始人兼架构师Arun Murthy的肯定回复。 本文中ube...

2018-08-28 18:57:08 504 0

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

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

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

转载 MapReduce:详解Shuffle过程

Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce, Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job 性能调优的工作,需要深入代码研究MapRed...

2018-07-13 16:48:14 3993 6

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

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

2018-07-03 13:32:04 740 0

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

线程安全是并发编程中的重要关注点,应该注意到的是,造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线...

2018-06-08 19:08:11 137 0

转载 Oozie简介

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

2018-06-01 15:57:08 723 2

转载 跟着示例学Oozie

在前一篇文章《Oozie简介》中,我们已经描述了Oozie工作流服务器,并且展示了一个非常简单的工作流示例。我们还描述了针对Oozie的工作流的部署和配置,以及用来启动、停止和监控Oozie工作流的工具。在本文中,我们会描述一个更加复杂的例子,通过它我们可以讨论更多Oozie特性,并演示如何来使用...

2018-05-31 18:25:13 763 0

转载 Oozie扩展,自定义节点

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

2018-05-31 10:25:36 935 0

转载 Java虚拟机:Metaspace

被废弃的持久代想起之前面试的时候有面试官问起过我一个问题:Java 8为什么要废弃持久代即Metaspace的作用。由于当时使用的Java 7且研究重心不在JVM上,一下没有回答上来,今天突然想起这个问题,就详细总结一下这个问题。首先我们看一张JVM内存布局的图:注意到里面有一块METHOD AR...

2018-04-26 18:59:59 307 0

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