自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Spark Graphx计算有向环

在工作过程中有使用到Spark Graphx做一些图的计算,开发环境如下:开发工具:IDEAJDK:1.7.0_80Maven:3.3.9对于图计算,其实可以有很多技术框架等,例如使用python的networx,spark的graphx,以及阿里也有开源框架,此处我们使用Graphx为计算框架,由于个人简单案例,就以单机环境实现,并且简单数据输入。在Graphx中,通常类似的操作可...

2019-12-15 15:07:27 747

原创 HBase ImportTsv导入数据

一、HBase介绍HBase是Apache Hadoop中的一个子项目,依托于Hadoop的HDFS作为最基本存储基础单元,通过使用hadoop的命令就可以看到HBase数据存储文件夹的目录结构,还可以通过Map/Reduce对HBase进行操作。HBase是一个适合于非结构化数据存储的数据库.所谓非结构化数据存储就是说HBase是基于列的而不是基于行的模式。HBase是介于Map Entry(ke

2016-08-10 17:31:45 6769 2

原创 Impala中最大连接数的设置

Impala中最大连接数的设置impala中最大连接数最近工作中有用到impala,有用到impala进行对数据库的操作,由于查询是页面在查询,所以有可能会有n个人在同时查询,那也就是数有可能同事有很多个客户端在请求impala连接,当请求数量达到64个的时候就卡住了,通过测试发现,impala默认的请求数(也就是连接数)限制在64个,当请求到64个impala连接之后,如果连接一直保持不释放,那么

2016-07-07 17:48:02 8486 1

原创 循环生成指定两个日期间的日期

工作中,脚本中会用到循环生成两个日期之间的日期脚本,比如回溯历史数据等情况,虽然不难,但是很琐碎,所以做个记录,使用的时候,可以过来粘过去,修改即可。#!/bin/bashcur_dir=$(cd $(dirname $0); cd ..; pwd)start_date=$1end_date=$2while [ "$start_date" != "$end_date" ]do echo $start_date # do something... let start_

2022-03-25 17:38:20 413

原创 HBase之RowKey设计

HBase RowKey设计HBaseHBase的存储RowKey设计原则热点问题HBase工作中一直有使用到HBase,但是却一直没有好好的总结整理过,最近换工作过程中,经常会被问到HBase相关的知识(裸面被鞭打的惨不忍睹啊),在回顾、准备面试的同时,也借此机会记录一下,希望能够在帮助自己记忆理解的同时,可以方便大家!HBase rowkey即是HBase的主键,HBase数据的查询,主要是基于rowkey进行,无论是通过rowkey进行唯一查询还是通过范围匹配查询,都是基于rowkey来实现,因

2020-11-08 12:58:53 1154

转载 Spark性能优化指南——高级篇

继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜发生时的现象 绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个ta

2020-09-23 09:36:57 236

转载 Spark性能优化指南——基础篇

在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度更快、性能更高。然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的。如果没有对Spark作业进行合理的

2020-09-23 09:32:45 130

原创 spring-boot遇到问题总结

最近项目中,需要提供接口服务,主要是使用Spark跑批量任务,web服务只提供简单接口来设置参数,以及启动、停止spark任务等,所以考虑使用spring-boot,也当做业余的一个学习。作为一个spring-boot新手,网上找个例子来开始学习,遇到问题会慢慢的追加到本文中。1. Spring-boot环境配置后,运行提示404 解决:404代表找不到访问地址,考虑是不是该ur...

2018-05-15 10:10:26 556

原创 linux 批量telnet机器端口

最近项目在上线,有从准生产环境切换ip到生产环境的机器迁移以及重新开通机器端口的情况,在切换环境后,需要重新测试已申请的端口、ip是否正确开通并且可以通信,通常使用telnet做一些端口的查看,这里有一个简单的脚本,用来批量执行telnet命令,并统计结果,shell新手,有问题的地方,还请大家指出,拍砖。#!/bin/bashBASEDIR=`dirname $0`BASEDIR=...

2018-05-01 00:12:14 4573 2

原创 HBase表备份&预分区

HBase表备份在HBase中,一般来说会预先设计RowKey,一个合理的rowkey设计不仅会影响到后续使用过程中的查询速度,对于数据的存储也是有一定影响的。不合理的rowkey设计会导致热读或者热写。假如初始阶段未做好rowkey的设计,并没有做合理的预分区,可能在后面过程中,会做表的备份,然后对原表做预分区,再讲数据导入原表,下面看下表备份:01. hbase shell> disable '

2017-06-10 15:04:14 611

转载 扫雷实用帖:HBase读延迟的12种优化套

任何系统都会有各种各样的问题,有些是系统本身设计问题,有些却是使用姿势问题。HBase也一样,在真实生产线上大家或多或少都会遇到很多问题,有些是HBase还需要完善的,有些是我们确实对它了解太少。 总结起来,大家遇到的主要问题无非是Full GC异常导致宕机问题、RIT问题、写吞吐量太低以及读延迟较大。  Full GC问题的解决方案目前主要有两方面需要注意,一方面需要查看GC日志确认是哪

2017-03-14 17:09:41 519

原创 访问HBase遇到java.lang.OutOfMemoryError: unable to create new native thread的解决方法

在HBase使用的过程中,通过java程序查询HBase数据时,在某机器上hbase用户下压测时遇到这个问题,导致程序异常挂掉。在网上google了一下,发现原因是: 当前用户下无法创建更多的线程(当然root用户没这个问题)下面是解决方案: 系统能够创建的最大线程数:(MaxProcessMemory - JVMMemory – 系统内存) / (ThreadStackSize) = Numb

2017-03-14 17:02:23 4040

原创 HBase数据Export & Import

1、将数据导出$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.Export -Dhbase.client.scanner.caching=1000 -Dhbase.export.scanner.batch=10 TableName(导出的表名) hdfs://host:8020/user/hbase/TableName_HDFS(导

2016-12-31 22:05:01 3957

原创 Mybatis缓存

Mybatis和Hibernate类似,同样有缓存,有一级缓存和二级缓存。一级缓存Mybatis通过SqlSession对数据库进行操作,所以一级缓存是SqlSession级别的缓存,即在同一个SqlSession中,操作数据库后会将查询数据放到缓存区域,当该SqlSession再次查询该数据时,将在缓存区域获得数据。若该SqlSession执行增加(insert)、修改(update)、删除(de

2016-08-07 16:05:43 353

原创 centos下redis安装

Redis 3.2.1安装下载安装包 到http://redis.io/下载所需版本的安装包将安装包拷贝到linux某目录下,解压: tar -zxvf redis-3.2.1.tar.gz进入redis解压目录,执行命令: make 执行make可能会报错,缺少某些包,假如出现如下错误:make[1]: Entering directory `/home/redis-3.2.1/s

2016-07-24 18:09:29 3094

原创 Js中计算后台传过来map size

userMap为后台传过来map,获得元素个数:Object.keys(userMap).length;js中数组反转:array.reverse()

2016-02-18 17:28:48 759

原创 使用MongoDB Shell

MongoDB Shell1.shell连接mongodb通常连接mongodb,这么做即可:$ mongo some-host:30000/myDBdb现在就指向了some-host:30000上的myDB数据库。启动mongo shell不连接到任何mongod有时很方便。通过–nodb参数启动shell,启动时就不会连接到任何数据库:$ mongo --nodb启动之后,在需要时运行new M

2016-02-14 16:29:17 1291

原创 ArrayBlockingQueue解析

ArrayBlockingQueue解析继承关系java.util.concurrent 类 ArrayBlockingQueue<E> java.lang.Object      继承者 java.util.AbstractCollection<E>           继承者 java.util.AbstractQueue<E>                继承者 java.util

2016-02-01 10:40:42 821

转载 程序员什么时候该考虑辞职

经常有程序员来找我讨论要不要辞职,以及现在辞职是不是一个明智之举。这是很严肃的话题,我通常不会轻易发表建议,因为这个决定会对程序员的职业生涯和生活产生非常深远的影响。很多人想要辞职但是因为怕被贴上“爱跳槽”的标签而裹足不前。从我观察的结果来看,很多程序员趋向于为了所谓的“声誉”而呆在老公司,但是在后期将两者相比较,“呆在老公司”的程序员处理问题的经验和职业发展前景远远不如那些频繁跳

2016-01-21 13:32:49 404

原创 jsp中EL表达式不起作用的问题

SpringMVC过程中出现异常,开发环境如下: 开发工具:IDEA JDK:1.8.0_65 Spring Version:4.2.4 Servlet Version:3.1.0 Maven:3.3.0问题:在jsp页面中使用el表达式取值,取不到值,但是使用jsp中嵌套java代码可以取到值,对应代码如下:// 后台赋值:String viewName = SUCCESS;

2015-12-23 16:32:56 24699 13

原创 java.lang.ClassCastException: SpringServletContainerInitializer cannot be cast to ServletContainerIn

SpringMVC过程中出现异常,开发环境如下: 开发工具:IDEA JDK:1.8.0_65 Spring Version:4.2.4 Servlet Version:3.1.0 Maven:3.3.0异常信息:C:\Java\jdk1.8.0_65\bin\java -Dmaven.multiModuleProjectDirectory=D:\eversec\pnlorf\spring

2015-12-23 14:07:31 7792 3

原创 MongoDB索引

MongoDB索引介绍数据准备:向MongoDB数据库插入20万条数据,执行如下代码:for(var i = 0 ; i<200000 ;i++){ db.books.insert({number:i,name:i+"book"})}创建简单索引 先看一下现在的查询性能:var startTime = new Date()db.books.find({number:65871})

2015-12-14 15:05:14 415

原创 MongoDB数据查询,分页,排序

MongoDB数据查询数据准备:persons.jsonvar persons = [{ name:"jim", age:25, email:"[email protected]", c:89,m:96,e:87, country:"USA", books:["JS","C++","EXTJS","MONGODB"]},{ name:"tom"

2015-11-30 17:20:11 5318

原创 MongoDB数据插入、删除、更新

1. MongoDB数据插入MongoDB插入文档// 插入语法db.[collectionName].insert({})// exampledb.sample.insert({name:"mongo"})sample结果: 2. 批量插入文档 shell 这样执行是错误的 db.[collectionName].insert([{},{},{},……..])

2015-11-26 18:00:40 17485

转载 Mongodb启动命令mongod参数说明

基本配置----------------------------------------------------------------------------------quiet# 安静输出--port arg# 指定服务端口号,默认端口27017--bind_ip arg# 绑定服务IP,若绑

2015-11-25 14:48:13 353

转载 史上最全面的程序员招聘建议

问题导读1.简历是是数字化的还需传统的?2.自我评估哪些方面?3.我们应该立志成为一个全栈的开发人员呢,还是成为某一门编程语言的专家?4.我们应该关注哪些经验教训?5.程序员面试有哪些要点?没有灵丹妙药能让你成功应聘为开发人员。但是,在此过程中却有一些非常有帮助的建议。我最近采访了Matt Langan和Christian Macolino,At

2015-11-18 09:33:40 519

转载 35 个 Java 代码性能优化总结

前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每

2015-11-05 09:44:44 320

转载 Java 8新的时间日期库的20个使用示例

译文出处: 花名有孚   原文出处:javarevisited除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API。Java对日期,日历及时间的处理一直以来都饱受诟病,尤其是它决定将java.util.Date定义为可修改的以及将SimpleDateForm

2015-10-22 10:32:59 513

原创 ubuntu下hadoop eclipse插件编译+windows下eclipse中安装+连接hadoop

最近在学习hadoop,花了不少时间来编译及安装hadoop的eclipse插件,记下来以后使用以及让别人少走弯路。编译环境: os:Ubuntu15.04jdk:1.6.0_43 安装后并配置环境变量ant:1.9.6 解压后配置环境变量eclipse4.4.2 解压后即可hadoop1.2.1编译过程: 编译hadoop很简单,但是直接编译代码生成的插

2015-08-13 16:09:41 469

转载 多线程编程 实战篇 (三)

[深入了解线程对象与线程,线程与运行环境]在基础篇中的第一节,我就强调过,要了解多线程编程,首要的两个概念就是线程对象 和线程.现在我们来深入理解线程对象,线程,运行环境之间的关系,弄清Runnable与Thread的 作用.在JAVA平台中,序列化机制是一个非常重要的机制,如果不能理解并熟练应用序列化机制,你就不能称得一个java程序员.在JAVA平台中,为什么有些对象中可序列化的,而有些对

2015-08-12 21:49:35 1222

原创 springmvc+jquery+ajaxfileupload.js实现带有文本域的文件上传

最近项目中做的有部分是文件上传,一个表单中有文本域text,复选框checkbox等,还有一个文件域file,这样的文件上传,直接使用form提交即可,但是在该项目中,要求,文件上传要用ajax,因为这样可以得到后台的返回值,前台页面会有提示,达到一个好的用户体验效果,但是这样,就不能直接使用form提交表单,而要使用ajax提交,而ajax是无法传文件的,jquery的post请求依旧无法达到要求

2015-08-12 21:47:04 1738

转载 多线程编程 实战篇 (二)

实战篇(二) 本节继续上一节的讨论. [一个线程在进入对象的休息室(调用该对象的wait()方法)后会释放对该对象的锁],基于这个原因. 在同步中,除非必要,否则你不应用使用Thread.sleep(long l)方法,因为sleep方法并不释放对象的锁.这是一个极其恶劣的品德,你自己什么事也不干,进入sleep状态,却抓住竞争对象的监视锁不让其它需 要该对象监视锁的线程运行,简单说是极端自私

2015-08-09 15:06:14 366

原创 Hadoop学习笔记_Ubuntu下伪分布式安装及配置

1.环境准备Linux操作系统:ubuntu15.04 x86版 Jdk:jdk1.6.0_43 Hadoop:1.2.12.环境配置1.hadoop使用过程中会用到ssh连接,因此需要安装ssh 2.hadoop由java编写,因此运行需要jvm,安装jdk 3.hadoop使用过程中连接其他节点需要ssh,经常输入密码不便,建议配置免密码登录 4.修改一下主机名之类的,改成有意义的名字

2015-08-02 13:44:33 330

转载 多线程编程 实战篇 (一)

实战篇(一) 在进入实战篇以前,我们简单说一下多线程编程的一般原则.[安全性]是多线程编程的首要原则,如果两个以上的线程访问同一对象时,一个线程会损坏 另一个线程的数据,这就是违反了安全性原则,这样的程序是不能进入实际应用的.安全性的保证可以通过设计安全的类和程序员的手工控制.如果多个线程对同一对象访问不 会危及安全性,这样的类就是线程安全的类,在JAVA中比如String类就被设计为线程安全的

2015-08-01 09:49:05 357

原创 win7中使用xshell连接VMware下ubuntu失败

1.环境VMware11:通过百度软件中心下载即可,序列号网搜一个即可,我使用的这个: 序列号链接 ,win7, xshell5:官方下载即可,学校及个人使用免费, ubuntu15.04:官方下载。 由于错误操作,之前的虚拟机以及其中的系统都一去不返了,今天在重新装之后,按照之前写的博客配置完成,发现xshell竟然无法连接,提示连接失败,但是可以ping通。 猜测原因大概有几个,

2015-08-01 09:45:16 1286 1

转载 多线程编程 基础篇 (四)

基础篇(四)[wait(),notify()/notityAll()方法]关于这两个方法,有很多的内容需要说明.在下面的说明中可能会有很多地方不能一下子明白,但在看完本节后,即使不能完全明白,你也一定要回过头来记住下面的两句话:[wait(),notify()/notityAll()方法是普通对象的方法(Object超类中实现),而不是线程对象的方法][wait(),notify()/notity

2015-07-28 16:49:48 408

原创 Jsp中图片显示问题以及显示绝对路径图片问题

Jsp中图片显示问题最近项目中,有图片上传的情况,要求:保存路径存储在配置文件中,放在系统绝对路径下,命名方式:path/image/分类/imageName。 过程中,分类目录使用的是中文路径,一直没有想到因为中文路径会导致图片不显示,在查看图片时,一直都显示404,找不到资源,但是明显路径没有问题,图片也确实存在,害的本人头疼好久,突然发现显示图片的路径中,中文被编码成一串字符,难道是因为路径

2015-07-27 11:51:00 9038

转载 多线程编程 基础篇 (三)

基础篇(三) 线程对象的几个重要的方法尽管线程对象的常用方法可以通过API文档来了解,但是有很多方法仅仅从API说明是无法详细了解的.本来打算用一节的篇幅来把线程方法中一些重要的知识说完,但这样下来估计要很常的篇幅,可能要用 好几节才能说把和线程方法相关的一些重要的知识说完.首先我们接基础篇(二)来说明start()方法.一个线程对象生成后,如果要产生一个执行的线程,就一定要调用它的start()

2015-07-25 10:10:36 315

原创 MongoDB客户端shell基本操作

MongoDB 是一款NoSql数据库,没有固定的模式,即同一个集合中的不同文档结构可以不同,如:第一条记录{name:”xiaoming”},第二条记录:{name:”xiaoli”,age:15},这在关系型数据库中是无法实现的。对于MongoDB,其中:collections即集合相当于关系型数据库的表,document文档相当于关系型数据库中的行。因此也就是说,MongoDB中的表中存储的数

2015-07-21 23:02:58 4509 2

转载 多线程编程 基础篇 (二)

基础篇(二)在进入java平台的线程对象之前,基于基础知识(一)的一些问题,我先插入两个基本概念.[线程的并发与并行]在单CPU系统中,系统调度在某一时刻只能让一个线程运行,虽然这种调试机制有多种形式 (大多数是时间片轮巡为主),但无论如何,要通过不断切换需要运行的线程让其运行的方式 就叫并发(concurrent).而在多CPU系统中,可以让两个以上的线程同时运行,这种可以同时让两个以上线程同

2015-07-20 16:30:01 322 1

springmvc+ajax带有文本域进行文件上传

springmvc+ajax带有文本域和文件域的表单,使用ajax进行文件上传,插件:ajaxfileupload.js

2015-08-12

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

TA关注的人

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