自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 hive 基于日期(Date)进行分区的最佳实践

一、概述 hive表进行分区操作对于读写等操作来说意义重大。最常见的分区类型即通过日期时间,例如年-月-日进行分区。根据日期时间字段进行分区有两种常见的方式: 1.一级分区 2.多级分区(分区嵌套) 所谓的一级分区,故名思义则是将年-月-日看作一个整体。比如说日期2018-12-25,分区字段...

2019-01-09 23:19:11

阅读数 2469

评论数 0

原创 Spark Structed Streaming 入门详解

一、概述 Structed Streaming 是一个可扩展和容错能力构建与Spark Sql引擎上的流处理引擎。你可以像采用批次处理静态数据一样处理流式数据。随着流数据的不断流入,Sparksql引擎会增量的连续不断的处理并且更新结果。可以使用DataSet/DataFrame的API进行 st...

2018-11-26 20:18:33

阅读数 350

评论数 0

原创 大数据中常用的几种数据格式对比(avro、orc、parquet)

不同数据格式特点 1). AVRO: 主要为行存储 设计的主要目标是为了满足schema evolution schema和数据保存在一起 2). ORC: 面向列的存储格式 由Hadoop中RC files 发展而来,比RC file更大的压缩比,和更快的查询速度 Schema 存储在f...

2018-11-26 17:41:18

阅读数 1976

评论数 5

原创 shell命令之--xargs

功能简介: 1.将参数列表转换成小块分段传递给其他命令,避免参数列表过长 2.从管道或者stdin获取数据,过滤处理(捕获一个命令的输出,然后传递给另外一个命令) 3.能够对输入中的换行和空白进行处理 应用举例: 当你尝试用rm 删除太多的文件,你可能得到一个错误信息:/bin/rm Argu...

2018-11-22 23:20:31

阅读数 73

评论数 0

原创 集群无法启动多个spark任务,资源无法分配问题

问题描述: 在集群上同时提交多个任务,但是发现集群的资源还有很多,但是任务却无法起来,一直处于Accepted状态 解决方法: 这种情况一般是由于yarn可调度的资源不够而并非集群的资源不够,修改Hadoop/etc/hadoop/capacity-scheduler.xml,将value从0.1...

2018-11-22 22:29:08

阅读数 267

评论数 0

原创 集群主备切换后任务未能在新的主节点上自动重启

问题描述: 在集群运行过程中发现一旦主备切换后,原来正常运行的任务在新的主节点上不能自动从启 解决方法: 在yarn-site.xml中增加以下配置项: <property> <description&gt...

2018-11-22 22:27:12

阅读数 53

评论数 0

原创 spark提交任务参数–executor-cores设置不起作用

问题描述 1.虽然目前大多数平台内置Application在提交时,只配置了–num-executors和–executor-memory参数,但是其他APP的开发者可能会配置–executor-cores参数。 举个例子: ./spark-submit –master yarn-client –...

2018-11-22 20:13:25

阅读数 2077

评论数 0

原创 hive 事务表锁泄露(冲突)问题

hive 锁泄露问题 问题描述: hive 表一个分区只能有一个程序/线程获得锁/写入,但发现有两个程序/线程获得了锁,最后在事务提交的时候检查到了冲突。(频率不高,一天一两次的样子) 问题分析: hive 客户端实现在本该原子操作的 获取事务ID、启动事务 拆成了需要跨网操作的两步,导致实际串行...

2018-11-22 19:29:20

阅读数 166

评论数 0

原创 mysql多线程update发生死锁

问题描述 mysql使用InnoDB引擎,在多线程并发的情况下,发现对数据库表中的数据进行更新操作时发生了死锁 基础知识 mysql 引擎 1、MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法)...

2018-11-14 10:47:06

阅读数 4109

评论数 1

原创 FileChanel 快速移动文件删除原文件中的数据

import java.io.IOException; import java.io.RandomAccessFile; import java.nio.channels.FileChannel; public class MoveFile { public static void m...

2018-02-02 17:06:28

阅读数 619

评论数 0

原创 elasticsearch可视化kibana中索引字段不显示

一 、问题描述索引结构如下图所示:其中ipcid对应的是数据采集设备的编号,我想要在kibana中统计各个设备下的数据量并通过饼图展示。于是,根据kibana操作流程: 1.首先创建visualize,选择饼状图。如下图所示: 2.选择需要操作的index 3.选择索引后,界面会自动跳到如下...

2017-12-26 11:06:37

阅读数 6035

评论数 0

原创 spark 批量读取HDFS(hive分区)parquet文件

情况说明:数据以parquet文件形式保存在HDFS上,数据中的某一列包含了日期(例如:2017-12-12)属性,根据日期对数据分区存储,如下图所示: 项目需求: 在项目中想要读取某一个月的数据,肿么办? 解决方法: spark中读取本地文件的方法如下:sparkSession.re...

2017-12-18 16:38:19

阅读数 7642

评论数 0

转载 Apache Spark探秘:多进程模型还是多线程模型?

Apache Spark探秘:多进程模型还是多线程模型? 原文链接

2017-11-23 10:58:53

阅读数 597

评论数 0

原创 k-means聚类算法

K-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。K-means...

2017-05-11 10:03:27

阅读数 911

评论数 0

原创 kNN(k近邻算法)

kNN是一种基本的分类与回归方法,其三要素是k值得选择、距离度量及分类决策规则。 kNN算法流程:kNN思想理论: knn中最关键的理论就在于多数表决这种分类决策规则的理论过程: 从原文可以看到,多数表决分类的理论基础就经验风险最小化,也就是分类的正确率最高。

2017-05-05 16:11:34

阅读数 424

评论数 0

翻译 控制反转

控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Looku...

2016-08-23 11:39:37

阅读数 497

评论数 0

原创 Nginx+tomcat实现负载均衡

Nginx 反向代理初印象Nginx (“engine x”) 是一个高性能的HTTP和反向代理 服务器,也是一个IMAP/POP3/SMTP服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:京东、新浪、网易、腾...

2016-08-06 11:20:25

阅读数 23080

评论数 9

原创 一台机器上同时开启多个Tomcat服务器

最近在调试Nginx1.10.1+Tomcat7集群负载均衡,于是需要在同一台机器上开启多个Tomcat7服务器(效果如下图),废话不多说,立马开干。 1.首先需要安装Tomcat7,这里不罗嗦。我这里安装后的路径为D:\Tomcat7。2.复制该文件夹,命名为Tomcat71,修改环境变量...

2016-08-03 11:15:17

阅读数 2837

评论数 0

转载 Nginx入门简介

nginx 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。其特点是占用内存少,并发能力强。nginx进程模型 nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。nginx是以多进程的...

2016-08-02 11:18:06

阅读数 390

评论数 0

原创 Python 采用Scrapy爬虫框架爬取豆瓣电影top250

scrapy 简介在此,默认已经安装好Scrapy,如果没有安装可以到scrapy 官网下载安装。 注意: 在安装Scrapy之前首先需要安装一下python第三方库:(安装方法并不在本文讲解范围,请自行了解) scrapy 爬取网页 scrapy 不同于简单的单线程爬虫,采用scrapy...

2016-06-26 21:49:28

阅读数 9120

评论数 3

原创 python 网络爬虫——爬取小米应用商店排名前100App

啥也不多说,我们今天要爬取的是小米应用商店排名前100的App,先来看来要爬取的东西长啥样 从上面的图可以看到,左侧是一个应用排行,但是只列出了前10个,好在右边列出了更多的应用,每一页显示了48个,也就是排名前48的应用,那么我们要爬取前100个就可以通过翻页来实现。 首先我们列出这个爬虫需要...

2016-06-25 21:03:12

阅读数 7991

评论数 2

翻译 非常见降维方法:Laplacian Eigenmaps 拉普拉斯特征映射

拉普拉斯矩阵Laplacian matrix 的定义谈到机器学习中的降维技术,可能大多数了解一点机器学习的朋友都知道PCA,今天为大家介绍一种新的降维方法——拉普拉斯特征映射 拉普拉斯矩阵(Laplacian matrix)),也称为基尔霍夫矩阵, 是表示图的一种矩阵。给定一个有n个顶点的图G=...

2016-06-17 10:47:16

阅读数 12622

评论数 2

翻译 Frobenius norm(弗罗贝尼乌斯范数)

对 p = 2,这称为弗罗贝尼乌斯范数(Frobenius norm)或希尔伯特-施密特范数( Hilbert–Schmidt norm),不过后面这个术语通常只用于希尔伯特空间。这个范数可用不同的方式定义: 这里 A* 表示 A 的共轭转置,σi 是 A 的奇异值,并使用了迹函数。弗罗贝...

2016-05-12 09:56:44

阅读数 7873

评论数 0

原创 构造方法和匿名对象

什么是构造方法?首先,我们来看看对象的产生格式:类名称 对象名称=new 类名称() 我们都知道在java中()是表示一个方法,那么上面的类名称()就是一个构造方法。只要已有对象实例化就会调用构造方法。构造方法必须遵循的几个原则: 构造方法的名称必须和类名称一致 构造方法的申明处不能有任何的返回...

2016-04-18 22:05:45

阅读数 310

评论数 0

原创 构造方法私有化及单态设计模式

构造方法私有化,也就是,说构造方法是私有的。比如:class Singleton{ private Singleton(){}//构造方法进行了封装,私有化 public void print (){ System.out.println("Hello W...

2016-04-18 21:22:38

阅读数 345

评论数 0

翻译 匿名内部类

匿名内部类内部类:在一个类的内部还有另外一个类称为内部类,那么匿名内部类,如果有一个类在整个操作中只是用一次的话,就可以将其定义为匿名内部类,匿名内部类是在抽象接口的基础之上发展起来的。匿名内部类也就是没有名字的内部类,正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写,但使用匿名...

2016-04-18 20:38:08

阅读数 394

评论数 0

原创 希尔(shell)排序原理分析及Java实现

shell排序 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2public class Demo { static final int SIZE=10; stat...

2016-04-11 16:01:13

阅读数 763

评论数 0

原创 插入排序原理分析及Java实现

插入排序有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(...

2016-04-11 15:59:41

阅读数 717

评论数 0

原创 选择排序原理分析及Java实现

选择排序: 它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。算法原理1.首先从原始数据中选择选择...

2016-04-11 15:56:53

阅读数 2004

评论数 1

原创 冒泡排序原理分析及Java实现

排序算法代码详解(Java版):排序是将一组数据按照一定的规则进行排列,一般按递增或者递减的顺序来排列。可以分为基本排序和多路归并排序。基本排序又可以分为交换排序(冒泡排序、快速排序)、插入排序(插入排序、shell排序)、选择排序(选择排序、堆排序)以及合并排序。以上基本排序算法都是直接对计算机...

2016-04-11 15:51:49

阅读数 771

评论数 0

原创 用空瓶和瓶盖换酒喝

前几天看到一个很有意思的智力题,题目大大致意思如下:啤酒每瓶2元,4个瓶盖或者2个空酒瓶可以换一瓶啤酒,当瓶盖或者空酒瓶不足以换取一瓶瓶酒时可以向商家借若干瓶盖或者空酒瓶,只要能够还得上,请问给你10元,最多可以喝多少瓶瓶酒?一眼看上去还真有点无从下手,于是我拿出纸盒笔在写下了下面买酒的过程:第1...

2016-04-08 20:53:19

阅读数 3052

评论数 0

原创 浅谈java equals和“==”区别

在Java中游8种基本数据类型:浮点型:float(4 byte), double(8 byte)整型:byte(1 byte), short(2 byte), int(4 byte) , long(8 byte)字符型: char(2 byte)布尔型: boolean(JVM规范没有明确规定其...

2016-03-30 21:34:33

阅读数 798

评论数 1

原创 浅谈java.lang.object

什么是Object类 Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。 在不明确给出超类的情况下,Java会自动把Object作为要定义类的超类。 可以使用类型为Object的变量指向任意类型的对象。 Object类有一个...

2016-03-30 21:02:34

阅读数 227

评论数 0

转载 Java线程面试题 Top 50

不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的...

2016-03-30 20:45:40

阅读数 376

评论数 0

原创 java中String、StringBuffer、StringBuilder的区别

java中String、StringBuffer、StringBuilder的区别java中String、StringBuffer、StringBuilder的区别 java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面...

2016-03-30 10:57:52

阅读数 373

评论数 0

翻译 Java不同数据类型之间的转换

Java不同数据类型之间的转换数据类型 **基本数据类型:**byte、short、int、long、float、double、char、boolean int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits) float长度...

2016-03-30 10:33:53

阅读数 420

评论数 0

原创 深入理解java

Java 8简明教程 http://www.importnew.com/10360.html 理解Java虚拟机体系结构http://www.importnew.com/18689.html Java ConcurrentModificationException异常原因和解决方法 : h...

2016-03-24 09:30:35

阅读数 243

评论数 0

转载 40个Java多线程问题总结

原文出处: 五月的仓颉前言Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有...

2016-03-23 21:02:55

阅读数 323

评论数 0

转载 HashMap的工作原理

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚...

2016-03-23 20:32:34

阅读数 222

评论数 0

转载 HashMap和Hashtable的区别

HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问题是有关Java 集合框架的最经典的问题。Hashtable是个过时的集合类,...

2016-03-23 20:25:51

阅读数 190

评论数 0

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