- 博客(41)
- 收藏
- 关注
翻译 Nifi - 处理器内几个注解解析
When creating a Processor, the developer is able to provide hints to the framework about how to utilize the Processor most effectively. This is done by applying annotations to the Processor’s class. Th
2017-09-07 11:00:31 2037
原创 Spark - 使用IDEA远程调试位于Yarn-Client模式下的Spark集群相关配置
环境介绍我使用的是基于Ambari 的 HDP-2.6.1.0-129的Hadoop环境 1.Spark 1.6.3 2.Scala 2.10.6(可以使用2.11以后的 版本) 开发环境是IDEA 2017.2版本,使用sbt进行编译。新建工程使用IDEA进行工程创建在此不赘述,需要注意的是如果在创建工程时没有选择正确的scala版本,可以在项目内的build.sbt文件中修改为正确的sca
2017-08-26 12:25:01 5520 3
翻译 Nifi初探 - 如何测试Nifi Processor
之前的博客简单讲了一下如何去定义一个简单的Json处理Processor,这一次是在无数次测试中总算厌烦了把打包好的Nar包上传到lib中,然后重启服务器,然后再测试功能,测试的时候还很难看到日志...同样搬运自 - > nifi.rock对自定义开发的Processor进行Unit Test开始Apache Nifi框架的单元测试是基于Junit的test runners的,在他们的代码中有一些
2017-07-20 17:39:24 3968
翻译 Nifi初探 - 创建一个简单的自定义Nifi Processor
网上关于Nifi自定义Processor的中文资料,要么是很古老的eclipse版本,要么太过于简单,学习Nifi的道路确实有点看不清楚,好在找到一篇从零构造一个JsonPROCESSOR的英文文章,单纯翻译外加心得记录,使用的Nifi版本是1.3.0,希望对大家有帮助。源地址:http://www.nifi.rocks/developing-a-custom-apache-nifi-proces
2017-07-19 10:41:54 10406
原创 VNC远程连接服务器出现 A problem has occurred and the system can't recover. 错误
事故出现的原委是同学没有问我的情况下重启机器,出现事故后,SSH服务正常,VNC连接出现“connection refused by remote compute”错误。远程服务器后添加5903(VNC端口)到防火墙规则并关闭SeLinux后可以连接,连接后出现GNOME的界面,但是无法进入桌面,出现报错A problem has occurred and the system can't rec
2017-05-15 12:22:16 9690 2
原创 HBase - KYlin build cube时出现问题的汇总
1.在单条非空数据时出现null值而导致报错Vertex failed, vertexName=Map 1, vertexId=vertex_1494251465823_0017_1_01, diagnostics=[Task failed, taskId=task_1494251465823_0017_1_01_000021, diagnostics=[TaskAttempt 0 failed,
2017-05-10 21:43:35 8027 5
原创 Kylin - 剪枝优化及其方法
为什么要进行剪枝优化?在没有采取任何的优化措施的时候,Kylin会对每一个维度组合进行预计算,若有4个维度,则会有将近2^4 = 16个Cuboid需要进行计算。但是我们知道很多维度是:1.不需要参与计算或者说不常用的 2.与其他的维度有一定的包含关系的 3.一定会跟其他维度一起进行查询的如果有10个维度那会有2^10=1024个Cuboid需要进行计算,虽然每个Cuboid的大小存在很大的差
2017-04-27 17:30:38 3976
原创 Java拾遗 - CAS算法以及immutable变量的线程安全
综述CAS1. 锁的机制为了实现线程安全,对于一些关键变量必须加锁常用的锁机制有两种:1、悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。悲观锁的实现,往往依靠底层提供的锁机制;悲观锁会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。2、乐观锁:假设不会发生并发冲突,每次不加锁而是假设没有冲突而去完成某项操作,只在提交操作时检查是否违反数据完整性。如果因为冲突失败就重试,直到成
2017-03-21 13:07:29 424
转载 Java拾遗 - default关键字详细介绍
什么是default方法?Java 8发布以后,可以给接口添加新方法,但是,接口仍然可以和它的实现类保持兼容。这非常重要,因为你开发的类库可能正在被多个开发者广泛的使用着。而Java 8之前,在类库中发布了一个接口以后,如果在接口中添加一个新方法,那些实现了这个接口的应用使用新版本的接口就会有崩溃的危险。有了Java 8,是不是就没有这种危险了?答案是否定的。给接口添加default方法可能会让某些
2017-03-02 14:56:16 3544
转载 MySQL 2002问题解决方案 - Can't connect to local MySQL server through socket...
mysql,mysqldump,mysqldump,php连接mysql服务常会提示下面错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)问题产生此问题的原因一般有两个: 1、mysql服务未正常运行: 由于mysql的socket文件是
2017-01-19 15:20:25 1337
转载 Mongodb与Hbase的区别
1.Mongodb bson文档型数据库,整个数据都存在磁盘中,hbase是列式数据库,集群部署时每个familycolumn保存在单独的hdfs文件中。2.Mongodb 主键是“_id”,主键上面可以不建索引,记录插入的顺序和存放的顺序一样,hbase的主键就是row key,可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes),在hbase内部,row ke
2016-12-28 16:08:36 1952
原创 HBase + Hadoop 错误小结
1.Windows下提交报用户权限问题conf.set("user", "hadoop"); //或者相应的用户名2.windows下提交报/bin/bash: line 0: fg: no job controlconf.set("mapreduce.app-submission.cross-platform", "true");3.运行中报ClassNotFound问题出现以下的错误:java.
2016-12-26 17:12:53 666
转载 Hbase - 比较器、过滤器、过滤器的操作符
过滤器的操作符LESS <LESS_OR_EQUAL <=EQUAL =NOT_EQUAL <>GREATER_OR_EQUAL >=GREATER >NO_OP no operation比较器BinaryComparator 按字节索引顺序比较指定字节数组,采用Bytes.compareTo(byte[])BinaryPrefixComparator 跟前面相同,只是比较左端的数
2016-12-09 11:43:29 7966
原创 HBase - 正确的Put方法
最近在做Hbase的一些操作,目的是利用Hbase建立一个支持高效地理索引的空间数据库,在实践中发现了一些问题,特地来这边记录下Put的方法:本人的实验场景是Hbase 1.2.1 + Hadoop 2.6.3,算是比较新的版本了。在最初学习Hbase是利用《Hbase实战》这本小人书,但是书上所提到的方法是利用HTable或者HTablePool等已经被弃用的方法,在这里依照1.2.1的版本总结
2016-11-23 16:06:52 9414
原创 JAVA拾遗 - 红黑树 Part I
写在最前红黑树,应该说是我们着一些年轻程序员最害怕的玩意了,每当宿舍吹比算法的时候,聊到树,必然绕不开红黑树这个乖乖东西。为了达到二分查找的最佳性能,我们强调生成的二分查找树必须是最“平衡”的,即所有从root点开始往下探的路径长度,总是相同的。可是总有的时候二分查找树是不会平衡的,多了一个少了一个都会影响其的平衡性。为了防止二分查找树出现最坏的情况,也为了提升查找的效率,这里提出个概念,就是所谓的
2016-11-10 21:01:27 416
转载 解释型语言与编译型语言
编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。 在运行的时候,
2016-10-29 17:27:36 265
原创 PCA和线性回归
PCA与线性回归的根本差异在于:PCA中的误差是点到直线的距离 即(cost = sqrt((x - x1)^2 + (y - y1)^2)) 线性回归中的误差,体现在这个点在直线上的投影与原本点的“y”值之间的差异 即(cost = f(x) - y) f(x)为拟合出的函数记录一下发现
2016-10-26 16:40:18 5403
转载 二叉树常见问题
二叉树的常见问题有如下几个,如果解决好了,就跟链表一样轻松:唯一不一样的是,二叉树是非线性结构。常见的问题如下: 二叉树的问题 1.二叉树三种周游(traversal)方式: 2.怎样从顶部开始逐层打印二叉树结点数据 3.如何判断一棵二叉树是否是平衡二叉树 4.设计一个算法,找出二叉树上任意两个节点的最近共同父结点,复杂度如果是O(n2)则不得分。 5.如何不用递归实现二叉树的前序/后序
2016-10-24 10:10:11 416
翻译 Tukey's Ninther - John Tukey's median of median(翻译)
原文地址:http://www.johndcook.com/blog/2009/06/23/tukey-median-ninther/Tukey’s “ninther” or “median of medians” procedure is quite simple. Understanding the problem he was trying to solve is a little more
2016-09-28 16:39:04 1802 1
原创 JAVA拾遗 - 如何正确地覆盖equals方法
本文思想来自于Effective Java第二版 3.1章节,实为阅读总结,如果读者有疑惑的地方强烈建议阅读这个章节。何时覆盖Equals方法何时不应该覆盖覆盖equals方法看上去是一件简单的事情,但是很多覆盖的方法都会导致一些隐性的BUG,最容易避免这些问题的方法就是 不覆盖 equals方法,在这种情况下每个类都只与其自身相等,如果满足以下任何一个条件,就不应该覆盖equals方法类的每个
2016-09-19 11:30:43 3828
原创 JAVA拾遗 - 希尔排序
package Elementary_Sorts;/** * Created by coco1 on 2016/9/18. * 希尔排序(Shell Sort)是插入排序的一种。 * 也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。 * 希尔排序是非稳定排序算法。 * 该方法因DL.Shell于1959年提出而得名。 * * Insertion Sort is ineffi
2016-09-18 16:37:33 317
原创 JAVA拾遗 - 使用Java实现数列栈和链表栈
最近有点忙,没来得及更新博客...正好在看Alg PartI 的公开课,就发一批课堂练习凑个数吧...抽象栈主要有三个功能,我们可以用一个抽象类去规定他package StackQueueBag;/** * Created by coco1 on 2016/9/12. */public abstract class AbstructStack { public abstract
2016-09-12 15:06:50 361
转载 JAVA拾遗 - ArrayList\LinkedList\HashMap源码解析与阅读
本文转载自:文/absfree(简书作者)原文链接:http://www.jianshu.com/p/f174d49b391c著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。本文会从源码(JDK 1.8)的角度来分析以下几个Java中常用的数据结构,主要会分析原理与实现,以及每个数据结构所支持的常用操作的复杂度。ArrayListLinkedListHashMap在对以
2016-09-04 14:56:45 574
原创 玩耍 - SICP第一站之使用lisp写个平方根
SICP计算机程序的构造与解释-From Mit先贴一个连接,这是一个好心的博主汉化的SICP课程,文章首部先感谢他思路为了求到平方根我们需要先设置一个猜想值,在这里猜想值暂定为1 (其实可以随机设)我们不断地通过修正这个猜想值去逼近真实值修正方法为,对猜想值和我们的输入参数取除(也就是用A/(GUESS^2)^1/2)并对这个输出值和我们的猜测值取平均值即Improve the Gues
2016-09-04 12:13:55 702
原创 玩耍 - JAVA写的五子棋
package game;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;public class FiveChess implements Chess{
2016-09-03 16:26:59 692
原创 JAVA拾遗 - 一个简单的4线程TCP客户端
package chapter_1;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.Socket;import java.net.UnknownHostExcept
2016-08-31 21:13:26 360
原创 Effective Java 阅读 (1-3)
Effective Java 阅读 (1-3)真正开始阅读这本书之后,我才发现我对这门语言的认识是多么肤浅。这是这个系列的第一篇博客,写于2016年8月28日21:31:25,今天我从快递小哥手上接过这本书,突然就有一种神秘的感觉,就好像一只迷途的羔羊找到了新的道路。哈哈扯远了,希望能够用这一系列的博客记录一下我阅读EJ的心得和体会吧。更新频率:1-3次/周第一条:考虑使用静态工厂方法你还在使用共
2016-08-30 14:37:57 626
原创 JAVA拾遗 - 优先队列的探讨以及其在KNN算法中的应用
这几天导师安排写一个微博签到数据依据地理坐标的分类,所以有一段时间没有更新博客了,不过正好也在这次代码的写作中学习了一些新的姿势,写这篇博客跟大家分享下心得。优先队列定义所谓的优先队列,就是在普通队列的基础上,对于每个点维护一个“优先”值,这个优先值决定了优先队列的出队顺序。优先队列内的元素不能够是空的JAVA中的优先队列在JAVA的优先队列(java.util.priorityQueue)内部维
2016-08-28 11:40:32 653
原创 LintCode A + B 问题 : 理解不使用运算符计算加乘
给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。这是来自http://www.lintcode.com/zh-cn/problem/a-b-problem/的问题很容易就联想到位运算,但是不能用加减乘除,只用位运算的方法怎么实现呢?首先我们要了解下位运算符: > “&”:按位与 “|” :按位或 “^” : 异或 “>>” : 右移运算符 , 相当于
2016-08-25 11:48:22 534
原创 JAVA拾遗 - volatile关键字和原子性的探讨
机房又只有我一个人...无聊到点开CSDN写一篇文章吧~记录下最近的学习之前在学习JAVA的过程中有点模糊的地方,最近一个一个拔掉钉子,还是满开心的。在看到多线程后就发现有个非常不能理解的东西,比如说这篇文章即将讲到的volatile关键字本篇博客部分翻译自http://tutorials.jenkov.com/java-concurrency/volatile.html什么是volatileTh
2016-08-20 19:55:28 1031
原创 JAVA拾遗 - ConcurrentHashMap源码阅读<实在续不动>
说实话在这段时间的编程里,多线程用的少,但是这是JAVA里面非常重要的一个部分,所以找了个机会看了点书。但是看完书后觉得还不够,书里面也就讲了它主要的对外接口,所以就想进入源码里面看看,顺便复习一下。继承ConcurrentHashMap继承于AbstractMap,实现了Map\Serializable这几个接口。public class ConcurrentHashMap<K,V> exten
2016-08-19 18:44:50 726
转载 JAVA拾遗 - 如何有效地避免OOM:善于利用软引用和弱引用
转载自 http://www.cnblogs.com/dolphin0520/p/3784171.html 想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲: 一.了解 强引用、软引用、弱引用、虚引用的概念 二.进一步
2016-08-17 17:23:17 413
原创 LintCode 374 螺旋矩阵的解决方法
最近在开心刷LintCode,其实我觉得刷题的目的就是锻炼你的解决问题的能力,不同的思想会带来不同的解决方案,找到最好的那个就是程序员的工作。但在找到最好的之前,你至少需要一点思想。题目梗概给定一个包含 m x n 个要素的矩阵,(m 行, n 列),按照螺旋顺序,返回该矩阵中的所有要素如[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]应返回:[1,2,3
2016-08-17 16:19:05 628
原创 JAVA拾遗 - 并查集算法的实现与改进
并查集并查集所需要实现的主要有一下几个功能1.建立新的集合2.查找某个元素属于哪个集合3.合并两个集合我们希望它的算法复杂度达到O(1),那么具体应该如何实现呢?方法UF(int n) //建立并查集int count() //返回并查集集合数boolean connected(int a, int b) //测试两个元素是否在同一个集合内find(int a) //返回某个元素属于哪
2016-08-16 12:07:03 602
原创 JAVA拾遗 - 线程安全之隐式锁
线程安全当多个线程同时操作一个数据结构的时候,可能会发生一些奇妙的情况(比如相互串行或者相互修改),这种情况发生后就无法保证数据的一致性,这也是不安全的线程,为了保证数据的一致性,我们在这里讨论线程安全。1.首先我们新建一个线程package ThreadSecure;public class Thread_A extends Thread{ private work work; //这是
2016-08-09 13:43:24 445
原创 循环队列拾遗-使用数组实现循环队列
循环队列为充分利用向量空间,克服”假溢出”现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。这种循环队列可以以单链表的方式来在实际编程应用中来实现。循环队列的问题循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列
2016-08-08 23:52:35 5950
原创 LintCode 245 子树 出现错误的一些思考
有两个不同大小的二进制树: T1 有上百万的节点; T2 有好几百的节点。请设计一种算法,判定 T2 是否为 T1的子树。 注意事项:若 T1 中存在从节点 n 开始的子树与 T2 相同,我们称 T2 是 T1 的子树。也就是说,如果在 T1 节点 n 处将树砍断,砍断的部分将与 T2 完全相同。我的代码我的思路主要是运用递归的思想,具体流程分为以下几步:Created with Rap
2016-08-07 11:43:45 1181 4
原创 JAVA拾遗 - 线程的三种简单实现
线程是程序中的执行线程。java虚拟机允许应用程序并发地运行多个执行线程。每个线程都有一个优先级,高优先级线程的执行优先于低优先级的线程。当某个线程中运行的代码创建一个新Thread对象时,该新线程的初始化优先级被设定为创建线程的优先级,并且当且仅当创建线程是守护线程时,新线程才是守护程序。当java虚拟机启动时,通常都会有一个单独非守护线程(通常用来调用“main()”函数)。JAVA虚拟机会继续
2016-08-06 18:34:59 448
转载 浅谈尾递归
在《数据结构与算法分析:C描述》(Data Structures and Algorithm Analysis In C)的第三章中,以打印链表为例,提到了尾递归(tail recursion)并指出了尾递归是使用递归极其不当的例子,它指出虽然编译器会对尾递归自动优化,但即便如此最好还是不要去写尾递归。而我在《算法精解:C语言描述》(Mastering Algorithms with C)中也看到书
2016-08-05 09:20:21 396
原创 微软windows10 10周年更新出现0x80090004错误正确的解决方案
微软自带的升级软件叫易升其实一点都不容易!博主有一台p35x 一台苏菲pro4 在无数次卡在2%后报错0x80090004后我发现这根本不是我电脑的问题 这就是微软易升的一个bug,在之前windows8.1和windows server2012里也出现过。 具体原因过于复杂不赘述,在这里直接告诉大家怎么成功安装不需要重装系统不需要重装系统不需要重装系统你只需要断网(或者开飞行模式)就OK了断
2016-08-04 20:17:47 4116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人