自定义博客皮肤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)
  • 收藏
  • 关注

原创 Hive 添加分区(partition)后count 为0

Hive 添加分区(partition)后count 为0

2022-06-07 12:27:50 1876 1

转载 理解Pandas的Transform

Pandas具有丰富的功能让我们探索,transform就是其中之一,利用它可以高效地汇总数据。Python Data Science Handbook 是一个关于pandas的优秀资源。在该书的描述中,transform是与groupby(pandas中最有用的操作之一)组合使用的。一般情况下,我们在groupby之后使用aggregate, filter 或 apply来汇总数据,transform可能稍难理解。该书对应的github资源 jupyter notebooks里的内容可能对理解tr.

2022-04-06 15:33:05 2606

原创 BroadcastNestedLoopJoin和禁不掉的广播

先来看一个普通的Left Joinimport org.apache.spark.sql.SparkSessionimport org.apache.spark.sql.functions.broadcastcase class People(id: Int, name: String)case class Student(sid: Int, sname: String)object TestBroadcastNestedLoopJoin3 { def main(args: Arr

2021-10-19 14:50:21 3668

原创 使用explain来分析broadcast

最近发现一个问题,可以看到有DataFrame被广播,但不知道是左边还是右边,试图通过执行计划来判断哪个数据源被广播。准备数据import org.apache.spark.sql.SparkSessionimport org.apache.spark.sql.functions.broadcastcase class People(id: Int, name: String)case class Student(sid: Int, sname: String)object Broadca

2021-10-19 11:08:36 443

翻译 通过可视化图了解您的 Spark 应用程序

过去,Apache Spark UI 在帮助用户调试应用程序方面发挥了重要作用。在最新的 Spark 1.4 版本中,我们很高兴地宣布数据可视化浪潮已经进入 Spark UI。此版本中新增的可视化功能包括三个主要组件:Spark 事件的时间线视图执行 DAGSpark Streaming 统计数据的可视化这篇博文将是由两部分组成的系列文章中的第一篇。这篇文章将涵盖前两个组成部分,并将最后一个部分保存到下一周的后续文章中。Spark 事件的时间线视图自 Spark 的早期版本以来,Spark

2021-10-12 23:03:59 797

翻译 使用explain来分析Spark应用

理解Spark的执行计划对Spark调优是非常重要的。Spark提供了一个explain API去查看Spark SQL查询的执行计划。在这篇文章中我会展示给你如何使用explain去获取执行计划以至于你可以调试和分析你的Spark应用。explain在Dateset上是可用的。你可以用它在Spark 查询真正运行之前就知道Spark的执行计划。当然,Spark也提供了UI,你可以通过UI去看Spark的执行计划以及其它细节当Spark 应用正在运行的时候。并且你可以配置Spark History Serv

2021-09-18 11:45:07 2034

原创 Spark的spark-*和blockmgr-*目录里是什东西,怎么来的

blockmgr-*blockmgr-* 是谁创建的grep blockmgr-83325444-bc05-491e-8db4-752c5b282d0a stderr21/09/01 11:17:15 INFO storage.DiskBlockManager: Created local directory at /var/tmp/mesos/slaves/2a06b6b8-3000-40f9-9008-51caaef53399-S1/frameworks/2a06b6b8-3000-40f9-9

2021-09-01 10:40:41 1892

原创 Spark Event Log (三) ListenerBus

Event 流程图#mermaid-svg-3ItgqGclvxJ8Gevm .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-3ItgqGclvxJ8Gevm .label text{fill:#333}#mermaid-svg-3ItgqGclvxJ8Gevm .node rect,#mermaid-svg-

2021-08-31 18:27:25 204

原创 Spark Event Log (二) 开始和结束

Spark Event Log Start上一节已经看过操作Spaek Event Log的类是org.apache.spark.scheduler.EventLoggingListener,现在来分析一下start()方法 /** * Creates the log file in the configured log directory. */ def start() { if (!fileSystem.getFileStatus(new Path(logBaseDir))

2021-08-25 18:46:35 1113

原创 Spark Event Log (一)概述

这里写自定义目录标题什么是Spark Event Log为什么需要Spark Event Log如何开启Spark Event LogSpark Event Log张什么样子简单分析Spark Event LogSpark Event Log在History Server显示是什么样的是谁在写Event Log参考什么是Spark Event LogSpark Event Log是Spark内部主要的事件日志。比如Spark Application什么时候启动,什么时候关闭,什么时候Task开始,什么时

2021-08-23 18:39:02 2204

原创 Markdown模版

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-08-23 17:29:16 196

原创 Jupyter Notebook 添加kernel

我本地的环境是conda 4.9.2, 基于python3的版本。默认有一个base的环境,安装了juoyter notebook就默认有一个python3的kernel查看kernel:(base) darren.zhang$ jupyter kernelspec listAvailable kernels: python3 /Users/darren.zhang/Library/Jupyter/kernels/python3添加一个python2.

2021-08-18 18:53:14 667

转载 ls 命令显示的total是什么意思

今天我无意间在用ls命令的时候发现显示的内容里的total,这个total代表着什么,引起了我的疑惑。接下来开始解开它的神秘面纱。total后面的数字是指当前目录下所有文件所占用的空间总和,它是怎么计算的,我们先来看看每个文件的大小。(文件的单位是bytes)我们将所有的文件大小加起来也只有3536bytes ,是远远没有24kbytes的啊。但是我们需要知道的是每个文件系统都规定的一个块(block)的大小,我们可以通过命令getconf PAGESIZE 命令来查看数据块规定的大

2021-07-15 10:06:09 3178

转载 Python 程序打包成egg或whl安装包

环境准备:conda create -n testconda activate testconda install python=3.7.0安装完毕,确认版本信息:准备测试目录和文件mkdir test_setupcd test_setuptouch setup.py问题:为什么要准备setup.py?setup.py其实是python工具包distutils的配置文件,setuptools就是基于distutils来做的。在setup.py中通过setup函数来配置

2021-07-01 10:41:29 1797

原创 Python 代码检查之Pylint

Pylint是什么pylint是一个python代码检查工具Pylint能干什么这里列出了很多,单是我想前三种应该是最有用的检查python代码符不符合PEP8规范 检查代码中的错误 提供重构建议下面就用一个例子来展开说明如何安装pip install pylint如何使用pylint python file# orpylint python package例子:import logginglogging.basicConfig(le

2021-03-31 18:15:21 7499 1

原创 Python 反射

这篇文章是参考别人写的,自己找了些例子联系了一下。首先说动态导入模块:正常引用Server类应该怎么写呢?from module.blog.server import Server如果我知道可Server类的全路径,通过字符串去动态导入Server类该怎么实现呢?这个在上一节Python 反射实现class.forName功能已经说过了。反射机制:其实,反射就是通过字符串的形式,导入模块;通过字符串的形式,去模块寻找指定函数,并执行。利用字符串的形式去对象(模块)中操作(查

2021-03-18 22:56:10 252

原创 Python 反射实现class.forName功能

我有一个类,需要通过配置文件来创建对象,测试类如下:那么全路径就是:lib.utils.test.Test代码如下:class Test(object): def __init__(self, name=1, age=1, **kwargs): self.name = name self.age = age def get_name(self): return self.name def get_age(se

2021-03-17 22:35:13 454 1

原创 Spark 常用的辅助配置

classpath稍后更新

2021-01-29 10:32:45 1098

原创 Git Debug

export GIT_TRACE=1export GIT_CURL_VERBOSE=1执行上述两条命令可以在使用git的时候显示debug信息。参考:https://stackoverflow.com/questions/6178401/how-can-i-debug-git-git-shell-related-problems

2021-01-04 16:50:03 1003

原创 Spark Error pyspark.sql.utils.ParseException: “\nmismatched input ‘FROM‘ expecting

代码片段:data = spark.sql(f""" SELECT p.skuseq , p.name , p.enabled FROM base_promotion p WHERE p.enabled is TRUE""")错误信息:py4j.protocol.Py4JJavaError: An error occurred while calling o24.sql.: org.apach

2020-12-01 10:31:31 12748

转载 EC2 Linux添加硬盘

在AWS的EC2 Linux 环境里面添加硬盘Volume和在Vmware的虚拟机里面的操作基本一样,除了AWS和Vmware的操作界面不同,linux环境的命令基本是一模一样的。基本步骤如下:创建Volume,Attach到虚拟机上,然后在虚拟机里面进行扫描,格式化磁盘,mount到某个文件夹下面,更改fstab文件以便开机自动加载。创建Volume点击 Create Volume 就出现了创建向导。EBS里面有3种 SSD就是最常见的适合中小规模的; Provisioned IOPS

2020-10-15 18:31:49 568

原创 Ububtu 18.04 安装mesos 1.7.0

一、安装JDKsudo apt install openjdk-8-jdk -yexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64二、安装依赖包sudo apt -y install build-essential python-dev libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev zlib1g-dev三、下载mesos下载地

2020-08-27 21:36:34 611

原创 Spark PIVOT & UNPIVOT, 行转列和列转行

测试数据name course score Darren Chinese 71 Darren Math 81 Darren English 91 Jonathan Chinese 72 Jonathan Math 82 Jonathan English 92 Tom Chinese 73 行转列语法SELECT xxxFROM table_test

2020-05-29 17:47:35 2257 1

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

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

2020-02-24 17:16:23 24716 2

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

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

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

转载 Javascript This.作用域.闭包

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

2020-02-19 16:23:04 1600

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

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

2020-02-18 14:20:37 15605 2

转载 python with as的用法

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

2019-12-26 16:38:12 447

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

join()是Thread类的一个方法。根据jdk文档的定义:public final void join()throws InterruptedException: Waits for this thread to die.join()方法的作用,是等待这个线程结束;但显然,这样的定义并不清晰。个人认为”Java 7 Concurrency Cookbook”的定义较为清晰:j...

2019-11-14 16:36:21 1092

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

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

2019-10-30 16:31:54 6552 3

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

最近在做BigData-Benchmark中PageRank测试,在测试时,发现有很多有趣的调优点,想到这些调优点可能是普遍有效的,现把它整理出来一一分析,以供大家参考。BigData-Benchmark中的Spark PageRank采用的是Spark开源代码examples包里的PageRank的代码,原理及代码实现都比较简单,下面我简单地介绍下。PageRank基本原理介绍PageR...

2019-09-26 18:02:49 615 1

转载 Spark中的Spark Shuffle详解

Shuffle简介Shuffle描述着数据从map task输出到reduce task输入的这段过程。shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过shuffle这个环节,shuffle的性能高低直接影响了整个程序的性能和吞吐量。因为在分布式情况下,reduce task需要跨节点去拉取其它节点上的map task结果。这一过程将会产生网络资源消...

2019-09-20 16:14:19 632

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

本文将对 Spark 的内存管理模型进行分析,下面的分析全部是基于 Apache Spark 2.2.1 进行的。为了让下面的文章看起来不枯燥,我不打算贴出代码层面的东西。文章仅对统一内存管理模块(UnifiedMemoryManager)进行分析,如对之前的静态内存管理感兴趣,请参阅网上其他文章。我们都知道 Spark 能够有效的利用内存并进行分布式计算,其内存管理模块在整个系统中扮演着非常...

2019-09-18 17:49:56 408

原创 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:Run with --stacktrace option to get the stack trace. Run wit...

2019-07-08 13:15:30 4322 1

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

plugin: 'org.scoverage'https://github.com/scoverage/gradle-scoverage/tree/2.5.0问题描述:使用scoverage生成的覆盖了报告可以在本地用浏览器打开,但是使用jenkins执行过CI/CD之后,却无法打开。问题原因:scoverage插件在生产报告的时候并没有下载css文件,而是在html文件在线...

2019-07-08 12:55:32 580

转载 git 仓库迁移

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

2019-06-28 22:12:09 308

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

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

2019-06-25 23:09:35 15182 2

转载 maven lifecycle, phase and goal

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

2019-06-21 09:13:30 1503

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

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

2019-06-03 23:36:40 2378

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

Spark 2.0 之前,Spark SQL 读写 CSV 格式文件,需要 Databricks 官方提供的 spark-csv 库。在 Spark 2.0 之后,Spark SQL 原生支持读写 CSV 格式文件。测试带标题的文件如下:id|name|age1| darren |182|anne|183|"test"|184|'test2'|18package com.da...

2019-06-03 23:13:34 23560 8

memcached win32 and win64

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

2015-03-18

Java数据结构和算法.

Java版的数据结构

2014-10-14

Development environment configuration

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

2014-09-18

php虚拟主机的配置

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

2013-06-24

PHP的安装与环境配置

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

2013-06-19

JFrameChart 使用例子

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

2013-03-03

Tomcat7安装版

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

2012-10-20

Tomcat6免安装版

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

2012-10-20

Tomcat6安装版

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

2012-10-20

Struts2单文件下载

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

2012-10-17

Jquery自动补全

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

2012-10-14

自定义弹出窗口

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

2012-10-14

JDK API7.0

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

2012-09-25

Struts2.1.8所依赖的主要包

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

2012-09-25

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

TA关注的人

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