自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 收藏
  • 关注

转载 Spark源码资料汇总

近几月,想要了解Spark的内部实现原理,因此想要查阅Spark的源码信息,现将所了解的资料汇总如下:1. 博客文字类(1) 官网1) github2) Spark官网(2) gitbook1)The Internals of Spark Structured Streaming:对spark的代码细节梳理较深,但排版感觉不出循序渐进(3) 微信公众号1...

2019-09-02 15:33:00 209

转载 Spark源码(1): SparkConf

1. 简介SparkConf类负责管理Spark的所有配置项。在我们使用Spark的过程中,经常需要灵活配置各种参数,来使程序更好、更快地运行,因此也必然要与SparkConf类频繁打交道。了解它的细节不无裨益。2. SparkConf类的构造方法下面先来看一看SparkConf类的构造方法。为了读起来清晰明了,可能会在不影响理解的前提下适当删去无关代码、注释,并调整顺序。...

2019-09-02 14:59:00 311

转载 Scala使用备注一

package com.ws.spark.study.scalaimport java.io.Fileimport org.scalatest.FlatSpecimport scala.io.Sourceclass TestScala extends FlatSpec{ "for循环" should "成功" ignore { // 1...

2019-08-05 09:58:00 201

转载 SparkMLLib的简单学习

一. 简介1. 机器学习中,可以将数据划分为连续数据和离散数据a. 连续数据:可以取任何值,如房价b. 离散数据:仅有少量特殊值,如一个房屋有2个或3个房间,但不能为2.75个房间二. 创建向量1. 向量中的各个维度称为特征2. Spark中既有局部向量、矩阵,也有分布式矩阵。分布式矩阵由1个多个RDD支持。局部向量有数值型索引和双精度浮点值,且存储在单一机...

2019-08-05 09:56:00 291

转载 scalaTest的初步使用

1. 概述ScalaTest是scala生态系统中最流行和灵活的测试工具,可以测试scala、js、java代码。2. ScalaTest的特性a. ScalaTest的核心是套件(suite),即0到多个测试的集合b. 测试可以是含有一个名称的任意内容,该名称可以用来启动、待处理或取消,也可表示成功或失败等c. trait Suite声明run和其他"生命周期"的方法,这些...

2019-08-05 09:53:00 596

转载 工作采坑札记: 4. linux指定目录使用df和du的统计结果相差很大

1. 背景近日,线上的服务出现异常,调用服务返回的JSON格式数据不完整,导致客户端解析异常,因此记录了本次的填坑之旅(nnd)...2. 排查过程2.1 服务器分析登录到服务所在linux服务器,查看磁盘I/O信息iotop、CPU信息top、网络请求netstat -alnp等一通操作,木有发现相关问题。随执行了df -h查看磁盘占用发现,系统盘根目录"/"的共计...

2019-06-28 11:16:00 165

转载 Spark在Windows上调试

1. 背景(1) spark的一般开发与运行流程是在本地Idea或Eclipse中写好对应的spark代码,然后打包部署至驱动节点,然后运行spark-submit。然而,当运行时异常,如空指针或数据库连接等出现问题时,又需要再次修改优化代码,然后再打包....有木有可能只需一次部署?(2) 当新版本的spark发布时,想立刻马上体验新特性,而当前没有现成的spark集群,或sp...

2019-06-18 15:56:00 175

转载 Spark读取HDFS中的Zip文件

1. 任务背景近日有个项目任务,要求读取压缩在Zip中的百科HTML文件,经分析发现,提供的Zip文件有如下特点(=>指代对应解决方案):(1) 压缩为分卷文件 => 只需将解压缩在同一目录中的一个分卷zip即可解压缩出整个文件(2) 压缩文件中又包含不同的两个文件夹,且各包含n个小zip文件,小zip文件中包含目录及对应的HTML文本文件采用第一方案:依次解...

2019-05-13 23:05:00 637

转载 Es性能优化

1. Es中10亿级别的数据量,如何提高查询效率(1) 性能优化关键:file system cachea. 不要期待随手挑一个参数,就可以万能的应对所有性能慢的场景b. es依赖于底层的file system cache,如果给file system cache更多的内存,尽量让内存容纳所有的idx segment file索引数据文件,则搜索时均走内存,性能很高。如果内存...

2019-05-07 08:50:00 129

转载 Spark GraphX初探

1. Graphx概念针对某些领域,如社交网络、语言建模等,graph-parallel系统可以高效地执行复杂的图形算法,比一般的data-parallel系统更快。Graphx是将graph-parallel的data-parallel统一到一个系统中。允许用户将数据当成一个图或一个集合RDD,而简化数据移动或复杂操作。2. 属性图属性图为有向多重图,带有链接到...

2019-05-07 08:50:00 94

转载 Spark Streaming初探

1. 介绍Spark Streaming是Spark生态系统中一个重要的框架,建立在Spark Core之上,与Spark SQL、GraphX、MLib相并列。Spark Streaming是Spark Core的扩展应用,具有可扩展性、高吞吐量、可容错性等特点。可以监控来自Kafka、Flume、HDFS、Twitter、Socket套接字等数据,通过复杂算法及一系列...

2019-03-09 16:15:00 244

转载 Spark中自定义累加器Accumulator

1. 自定义累加器自定义累加器需要继承AccumulatorParam,实现addInPlace和zero方法。例1:实现Long类型的累加器object LongAccumulatorParam extends AccumulatorParam[Long]{ override def addInPlace(r1: Long, r2: Long) = { ...

2019-03-02 12:39:00 275

转载 Bash实践:抽样检测数据迁移至Redis集群后的数据一致性

熟悉了一段时间的Bash编程,因此借此任务操作一把bash编程,主要涉及到Redis单节点与Redis集群的操作1. 任务背景近日有个任务需要将历史的Redis(主从节点)中的数据迁移至Redis集群中。相关条件与要求如下:(1) 历史Redis以及新的Redis集群分别部署在北京、合肥、广州三地(2) 待迁移的Redis数据只存在合肥环境(3) 需要从一个节点访问三...

2019-02-15 14:20:00 116

转载 Bash编程(6) String操作

1. 拼接  1) 简单的字符串拼接如:PATH=$PATH:$HOME/bin。如果拼接的字符串包含空格或特殊字符,需要使用双引号括起,如:var=$HOME/bin # 注释并不是赋值的一部分var="$HOME/bin # but this is"# bash 3.1后,可以使用+=拼接(+=也可用于数组相加)var=abc$ var=abc...

2019-02-14 23:27:00 201

转载 Bash编程(5) Shell方法

shell的方法在相同的进程内执行,与调用它的脚本一致。对于方法来说,脚本中的所有变量均可见,且不需要执行export。方法中可以创建局部变量,且不影响正在调用的脚本。1. 定义语法(1) KornShell中的定义格式为:function name <复合命令>(2) Bourne shell中的定义格式为: name() <复合命令>(3) ...

2019-02-12 21:47:00 96

转载 Bash编程(4) 参数与变量

1. 变量命名变量命名只能使用数字、下划线、字母,且仅能以下划线或字母开头。变量很少使用单个字母,单个字母一般用于循环或读取一次性文件的时候。例:while IFS=: read login a b c name edo printf "%-12s %s\n" "$login" "$name"done < /etc/passwd变量名...

2019-01-14 17:09:00 209

转载 Bash编程(3) 命令行解析与扩展

$@表示脚本输入的全部参数,在bash脚本中,若$@增加引号("$@"),则包含空格的参数也会被保留,若不增加引号($@),则包含空格的参数会被拆分。例:# sa脚本内容如下:pre=:post=:printf "$pre%s$post\n" "$@"#printf "$pre%s$post\n" $@# 注意$@增加引号和不加引号的区别$ bas...

2019-01-03 23:25:00 152

转载 Bash编程(2) 循环与分支

Shell中有三种类型的循环:for, until, while,具有3种类型的条件语句:if, case, 条件操作符(&&, ||)。1. 结束码命令的结束码可以在命令运行完后,查看$?查看。当命令执行正常时,结束码为0,当异常时,返回1-255的数字。$ printf "%v\n"-bash: printf: `v': invalid forma...

2018-12-27 08:31:00 329

转载 CentOS 升级 openSSH

openSSH作为linux远程连接工具,容易受到攻击,必须更新版本来解决,低版本有如下等漏洞:a. OpenSSH 远程代码执行漏洞(CVE-2016-10009)b. OpenSSH auth_password函数拒绝服务漏洞(CVE-2016-6515)c. OpenSSH 远程代码执行漏洞(CVE-2016-10009)升级前漏洞扫描和openSHH...

2018-12-26 10:58:00 266

转载 Bash编程(1) 基础

1. 基本知识(1) $HOME: 当前用户的家目录(2) `pwd`或$PWD:当前目录(3) 脚本命名避免使用test,通过type -a test,可以查看所有匹配test的命令gas@docker86-22:~$ type testtest is a shell builtingas@docker86-22:~$ type -a testtest ...

2018-12-26 10:52:00 240

转载 DNS配置

  可以ping通ip地址,但无法ping通域名,主要是DNS的配置问题。经查阅,DNS配置文件/etc/resolv.conf每次重启后就会失效。本文旨在解决该问题。  1. Ubuntu  ubuntu中的/etc/resolv.conf中可以看到如下注解:# Dynamic resolv.conf(5) file for glibc resolver(3) gene...

2018-12-25 16:16:00 123

转载 资料收集:学习 Linux/*BSD/Unix 的 30 个最佳在线文档

文章转自:https://linux.cn/article-10311-1.html手册页(man)是由系统管理员和 IT 技术开发人员写的,更多的是为了作为参考而不是教你如何使用。手册页对于已经熟悉使用 Linux、Unix 和 BSD 操作系统的人来说是非常有用的。如果你仅仅需要知道某个命令或者某个配置文件的格式那么你可以使用手册页,但是手册页对于 Linux 新手来说并没有太大...

2018-12-06 11:56:00 172

转载 Nginx+Keepalived配置

1. Nginx安装(1) 环境:分别在2台服务器上部署nginx且步骤一致: 如192.138.86.1和192.138.86.2(2) 下载官网最新稳定版,地址:https://nginx.org/en/download.html,本教程使用的是1.14.2版(3) 安装Nginx的依赖包a. 源码编译使用gcc: yum -y install ggc-c++b....

2018-12-06 08:54:00 104

转载 Linux抓包工具:tcpdump

tcpdump 是一个命令行实用工具,允许你抓取和分析经过系统的流量数据包。它通常被用作于网络故障分析工具以及安全工具。 tcpdump 是一款强大的工具,支持多种选项和过滤规则,适用场景十分广泛。由于它是命令行工具,因此适用于在远程服务器或者没有图形界面的设备中收集数据包以便于事后分析。它可以在后台启动,也可以用 cron 等定时工具创建定时任务启用它。 本文中,我们将讨论 tcpdu...

2018-11-04 23:11:00 451

转载 Kubernetes系列:(1) 初探

1. 背景 在部门内容组织了一次K8s的培训,普及了下K8s的概念、框架、操作等,为便于后期查阅,也为了进一步深究K8s,因此开展K8s系列,周期不定… 2. 概念 (1) 含义:来自希腊语,意为”舵手”,又称K8s (2) 历史:2014年由Google创建,是十多年大规模容器管理技术Borg的开源版 (3) 功能:为容器化应用提供资源调度,即容器编排 严格意义:容器是将代码以及所有的...

2018-11-03 22:58:00 132

转载 数据挖掘:基于Spark+HanLP实现影视评论关键词抽取(1)

1. 背景近日项目要求基于爬取的影视评论信息,抽取影视的关键字信息。考虑到影视评论数据量较大,因此采用Spark处理框架。关键词提取的处理主要包含分词+算法抽取两部分。目前分词工具包较为主流的,包括哈工大的LTP以及HanLP,而关键词的抽取算法较多,包括TF-IDF、TextRank、互信息等。本次任务主要基于LTP、HanLP、Ac双数组进行分词,采用TextRank、互信息以及...

2018-11-03 21:53:00 385

转载 uwsgi服务启动、关闭、重启操作

1.添加uwsgi相关文件在之前的文章跟讲到过centos中搭建nginx+uwsgi+flask运行环境,本节就基于那一次的配置进行说明。在www中创建uwsgi文件夹,用来存放uwsgi相关文件在uwsgi文件夹中创建uwsgi.pid和uwsgi.status文件,uwsgi.pid文件用来重启和停止uwsgi服务,uwsgi.status用来查看uws...

2018-09-29 23:19:00 1887

转载 工作采坑札记:4. Hadoop获取InputSplit文件信息

1. 场景  基于客户的数据处理需求,客户分发诸多小数据文件,文件每行代表一条记录信息,且每个文件以"类型_yyyyMMdd_批次号"命名。由于同一条记录可能存在于多个文件中,且处于多个文件中的相同记录最终只有时间最新的记录有效,但文件的每行记录并未提供时间信息,因此需要从每个文件名中提取时间信息作为文件每行记录信息。  因此,考虑到小文件数量较多,且数据总量近千万级别,因此借助...

2018-09-25 22:49:00 208

转载 Nginx实践:(2) Nginx语法之localtion

1. 概念location是根据uri进行不同的定位。在虚拟主机的配置中,是必不可少的。location可以将网站的不同部分,定位到不同的处理方式上。location语法格式如下:location [=|~|~*|^~] patt{}其中:(1) 当[]中的内容均不填写时,表示一般匹配(2) "="表示精准匹配(3) "~"表示正则匹配2...

2018-09-09 18:13:00 116

转载 Nginx实践:(1) Nginx安装及日志配置

1. 安装(1) Nginx下载地址:https://nginx.org/download/nginx-1.14.0.tar.gz(2) 安装时可能出现依赖库不存在,比如prec包,可以使用yum install pcre pcre-devel进行安装。安装的整体命令如下:cd /usr/local/src# 下载wget https://nginx.org/...

2018-08-30 18:46:00 105

转载 工作采坑札记:3. Spark中es-hadoop插件异常解决

1. Es-Hadoop异常:org.elasticsearch.hadoop.EsHadoopException: Could not write all entries [615/300864] (maybe ES was overloaded?). Bailing out... at org.elasticsearch.hadoop.rest.RestRepo...

2018-08-28 22:35:00 356

转载 工作采坑札记:2. Hadoop中MultipleInputs的使用陷阱

1. 背景近日在一个Hadoop项目中使用MultipleInputs增加多输入文件时,发现相同路径仅会加载一次,导致后续的统计任务严重失真。本博文旨在记录异常的排查及解决方案。2. 情景重现(1) 准备简版的输入文件test,文件内容为"i am ws",输入的HDFS路径为/work/justTest/test(2) 源码信息如下,主要是wordCount实现,其中/...

2018-08-12 22:05:00 244

转载 Spring Boot实战(3) Spring高级话题

1. Spring AwareSpring的依赖注入的最大亮点就是你所有的Bean对Spring容器的存在是没有意识的。即你可以将你的容器替换成别的容器。实际项目中,不可避免地会用到Spring容器本身的功能资源,这时的Bean必须意识到Spring容器的存在,才能调用Spring所提供的资源,这就是所谓的Spring Aware。Spring提供的Aware接口如下:...

2018-06-19 08:25:00 129

转载 Spring Boot实战(2) Spring常用配置

1. Bean的Scopescope描述Spring容器如何新建Bean的实例。通过注解@Scope实现,取值有:a. Singleton:一个Spring容器中只有一个Bean的实例。此为Spring的默认配置,全容器共享一个实例。b. Prototype:每次调用新建一个Bean的实例c. Request:Web项目中,给每一个Http Request新建一个Bean...

2018-06-10 22:29:00 178

转载 Spring Boot实战(1) Spring基础

1. Spring基础配置Spring框架本身有四大原则:1) 使用POJO进行轻量级和最小侵入式开发2) 通过依赖注入和基于接口编程实现松耦合3) 通过AOP和默认习惯进行声明式编程4) 使用AOP和模板(template)减少模式化代码所谓依赖注入指的是容器负责创建对象和维护对象间的依赖关系,而不是通过对象本身负责自己的创建和解决自己的依赖。依赖注入主要目的是...

2018-06-03 21:47:00 57

转载 Spring Boot集成Reactor事件处理框架的简单示例

1. Reactor简介Reactor 是 Spring 社区发布的基于事件驱动的异步框架,不仅解耦了程序之间的强调用关系,而且有效提升了系统的多线程并发处理能力。2. Spring Boot集成Reactor的pom.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns=...

2018-04-22 14:03:00 826

转载 Spring Boot使用mongo的GridFS模块

1. GridFS简介GridFS是Mongo的一个子模块,使用GridFS可以基于MongoDB来持久存储文件。并且支持分布式应用(文件分布存储和读取)。作为MongoDB中二进制数据存储在数据库中的解决方案,通常用来处理大文件,对于MongoDB的BSON格式的数据(文档)存储有尺寸限制,最大为16M。但是在实际系统开发中,上传的图片或者文件可能尺寸会很大,此时我们可以借用Gri...

2018-04-15 21:26:00 383

转载 工作采坑札记:1. Hadoop中的BytesWritable误区

1. 背景近日帮外部门的同事处理一个小需求,就是将HDFS中2018年至今所有存储的sequence序列化文件读取出来,重新保存成文本格式,以便于他后续进行处理。由于同事主要做机器学习方向,对hadoop或spark方面不了解,所以我就想着这么小的需求,简单支持下即可,花个几分钟写了一个脚本提供给他,没想到,过了一天他又找到我,说脚本读取出来的文件大部分有问题…原来自己代码有bug...

2018-04-08 22:01:00 441

转载 Docker学习笔记(2)-docker镜像操作

本节将会涉及Docker的镜像操作。1. 获取镜像如何获取Docker Hub上的镜像?可通过docker pull命令获取,其格式为: docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签],具体可通过docker pull --help命令查看。Docker镜像仓库地址的格式一般为<域名/IP>[:端口号],仓...

2018-01-21 17:38:00 152

转载 Docker学习笔记(1)-简介

1. 简介Docker使用Google公司推出的Go语言开发实现,基于Linux内核的cgroup, namespace以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其他的隔离进程,因此也称其为容器。Docker在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等,极大的简化了容器的创建和维护。使...

2018-01-13 16:04:00 79

空空如也

空空如也

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

TA关注的人

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