tianyaleixiaowu的专栏

世界上有10种人,一种懂2进制,一种不懂2进制

排序:
默认
按更新时间
按访问量

10 搭建Hadoop单机环境,使用spark操作Hadoop文件

前面几篇主要是sparkRDD相关的基础,也使用过textFile来操作过本机的文档。实际应用中,操作普通文档的机会不多,更多的时候是操作kafka的流和Hadoop上文件。下面我们就在本机搭建一个Hadoop环境。1 安装配置Hadoop首先下载Hadoop的压缩包,http://www.apa...

2018-04-28 10:30:46

阅读数:66

评论数:0

9 spark入门之采样、搜集部分结果sample、takeOrdered

spark提供了对结果集RDD进行随机采样,即获取一小部分数据的功能。其中有sample、takeSample、takeOrdered等方法。import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.Jav...

2018-04-24 14:12:25

阅读数:81

评论数:0

8 spark之基本的Action操作 first, take, collect, count, countByValue, reduce, aggregate, fold,top

转载自:https://blog.csdn.net/t1dmzks/article/details/70667011first返回第一个元素 scalascala> val rdd = sc.parallelize(List(1,2,3,3)) scala&...

2018-04-19 13:59:35

阅读数:43

评论数:0

7 spark入门键值对操作subtractByKey, join, rightOuterJoin, leftOuterJoin

转账自:https://blog.csdn.net/t1dmzks/article/details/70557249subtractByKey函数定义def subtractByKey[W](other: RDD[(K, W)])(implicit arg0: ClassTag[W]): RDD[...

2018-04-19 13:57:00

阅读数:31

评论数:0

6 spark入门键值对操作sortByKey、groupByKey、groupBy、cogroup

SortByKey从名字就能看到,是将Key排序用的。如一个PariRDD-["A":1, "C":4, "B":3, "B":5],按Key排序的话就是...

2018-04-19 10:40:57

阅读数:54

评论数:0

5 spark入门键值对foldByKey

foldByKey函数是PairRDD<K, V>对V做合并处理,方法是这样的可以看到,第一个参数是zeroValue,这个就是用来对原始的V做合并操作的,后面的参数是一个JFunction操作。对于一个PairRDD,如Array((&quot...

2018-04-18 17:14:53

阅读数:38

评论数:0

4 spark入门键值对聚合操作combineByKey

combineByKey是spark中一个核心的高级函数,其他多个键值对函数都是用它来实现的,如groupByKey,reduceByKey等等。这是combineByKey的方法。可以看到主要有三个参数,后面还有分区等参数就不管了。主要来看前三个参数,分别是createCombiner,merg...

2018-04-18 15:11:18

阅读数:21

评论数:0

2 Java8对于多线程并发的一些新支持-CompletableFuture

CompletableFuture这个类是Java8提供的Future的升级版,提供了很多多线程间实用的方法。譬如一个线程完成后执行另一个,或者两个线程完成后再执行第三个,或者一个线程执行完后传递结果给下一个线程,或者两个线程同时执行、任意一个完毕后就执行第三个而不等待另一个等等。前面有一篇使用D...

2018-04-17 16:21:10

阅读数:137

评论数:0

1 Java8对于多线程并发的一些新支持-LongAdder

我们知道AtomicLong、AtomicInteger是基于硬件级别cas实现的保证线程安全的自增类,能保证原子化的自增操作。在多线程下,性能远好于加锁synchronized。AtomicLong的实现是当多线程并发自增、自减时,通过cas指令从机器指令级别操作保证并发的原子性。制约性能的是高...

2018-04-17 12:49:09

阅读数:25

评论数:0

3 Spark入门distinct、union、intersection,subtract,cartesian等数学运算

这一篇是一些简单的Spark操作,如去重、合并、取交集等,不管用不用的上,做个档案记录。distinct去重import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; im...

2018-04-16 10:18:29

阅读数:28

评论数:0

使用Java开发一个做数据共享的联盟链思路

起因公司要开发区块链,原本是想着使用以太坊开发个合约或者是使用个第三方平台来做,后来发现都不符合业务需求。原因很简单,以太坊、超级账本等平台都是做共享账本的,有代币和挖矿等模块。而我们需要的就是数家公司组个联盟,来共同见证、记录一些不可篡改的交互信息,如A公司给B公司发了一个xxx请求,B公司响应...

2018-04-16 09:46:53

阅读数:78

评论数:0

Spark——RDD操作详解

转载自:https://blog.csdn.net/zhaojw_420/article/details/53261965一、基本RDD 1、针对各个元素的转化操作 最常用的转化操作是map()和filter()。转化操作map()J接收一个函数,把这个函数用于RDD中的每一个元素,将函数的返回结...

2018-04-13 11:31:15

阅读数:49

评论数:0

2 Spark入门reduce、reduceByKey的操作

上一篇是讲map,map的主要作用就是替换。reduce的主要作用就是计算。package reduce; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java.JavaRDD; import...

2018-04-13 11:22:32

阅读数:40

评论数:0

1 Spark入门各种map的操作,java语言

Spark基本操作主要就是各种map、reduce,这一篇从各种map开始。由于scala不熟悉,而且语法太精简,虽然代码量少了,但是可读性差了不少,就还是用Java来操作。直接开始上代码了,注意,如果只是本地测试spark的各种api的使用,是不需要下载安装任何spark、Hadoop的。直接引...

2018-04-12 15:46:21

阅读数:44

评论数:0

使用Java开发一个自己的区块链产品、联盟链

开源地址:https://gitee.com/tianyalei/md_blockchainhttps://gitee.com/tianyalei/md_blockchain_managerJava区块链平台,基于Springboot开发的区块链平台。公司要开发区块链,原本是想着使用以太坊开发个合...

2018-04-11 17:07:30

阅读数:1503

评论数:0

10G mysql binlog重放并传输到另一台服务器执行,阿里中间件大赛

转载自:https://tianchi.aliyun.com/forum/new_articleDetail.html?spm=5176.11165310.0.0.90a57f61Sy5xTQ&raceId=231600&postsId=2035这个...

2018-04-08 16:25:57

阅读数:82

评论数:0

使用Disruptor完成多个消费者不重复消费消息

上一篇https://blog.csdn.net/tianyaleixiaowu/article/details/79787377里讲了Disruptor完成多个消费者并行、顺序重复消费Event。重复消费类似于kafka中,同一个topic被不同的group的消费者消费。这样的场景比较常见。当然...

2018-04-08 10:38:13

阅读数:127

评论数:0

深入浅出以太坊MPT(Merkle Patricia Tree)

转载自:https://blog.csdn.net/qq_33935254/article/details/555054721 Trie树        Trie树,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中...

2018-04-04 15:48:41

阅读数:116

评论数:0

使用Disruptor完成多线程下并发、等待、先后等操作

Java完成多线程间的等待功能:场景1:一个线程等待其他多个线程都完成后,再进行下一步操作(如裁判员计分功能,需要等待所有运动员都跑完后,才去统计分数。裁判员和每个运动员都是一个线程)。场景2:多个线程都等待至某个状态后,再同时执行(模拟并发操作,启动100个线程 ,先启动完的需要等待其他未启动的...

2018-04-02 13:35:30

阅读数:90

评论数:0

高性能队列Disruptor的使用

转载自:https://blog.csdn.net/nuaazhaofeng/article/details/72918467一、什么是 Disruptor从功能上来看,Disruptor 是实现了“队列”的功能,而且是一个有界队列。那么它的应用场景自然就是“生产者-消费者”模型的应用场合了。可以...

2018-03-29 11:39:27

阅读数:59

评论数:0

2 监听mysql表内容变化,使用canal

mysql本身是支持主从的(master slave),原理就是master产生的binlog日志记录了所有的增删改语句,将binlog发送到slave节点进行执行即可完成数据的同步。canal是阿里开源的一个中间件,它就是通过解析binlog来完成数据变更的监听的。https://github....

2018-03-22 20:19:07

阅读数:342

评论数:1

1 监听mysql表内容变化,mysql开启binlog

binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的增、删、改语句。通过binlog日志我们可以做数据恢复,做主从复制等等。可以看到,只要有了这个binlog,我们就拥有了mysql的完整备份了。我们时常会碰到这样的需求,就是要监听某个表的变化,然后来做一些操作。...

2018-03-22 14:33:52

阅读数:188

评论数:1

Springboot2.0中Hibernate默认创建的mysq表为myisam引擎问题

升级到Springboot2.0后,依然是使用jpa、Hibernate来操作mysql,发现Hibernate默认创建的表是myisam引擎,而不是innodb。添加下面的方言即可修改为innodbspring: jpa: database: mysql show-sql: ...

2018-03-07 11:06:25

阅读数:859

评论数:0

Springboot集成sqlite数据库,并使用jpa、Hibernate操作sqlite

之前举例使用jpa、Hibernate多是以mysql为例,这次因为需要使用一个内嵌式数据库,选择了sqlite,网上多是讲一些sqlite的api封装的框架。这里我们还是使用jpa、Hibernate来操作sqlite。新建一个Springboot项目,pom如下:<?xm...

2018-03-05 14:55:00

阅读数:476

评论数:0

Springboot中Hibernate根据表名获取model类

需求是:知道表名,需要获取到该表对应的实体类。为毛有这么奇怪的需求呢,是这样的,在别的文件里,存放了数据表名,和一条数据的json串。我需要根据这些信息,将这条数据通过Hibernate插入到库里。我知道了json串,但不知道把它转成什么样的实体类,所以我需要表名对应的class信息。有了clas...

2018-03-02 17:38:02

阅读数:149

评论数:0

以太坊Merkle tree学习

转载自:http://www.cnblogs.com/fengzhiwu/p/5524324.html/*最近在看Ethereum,其中一个重要的概念是Merkle Tree,以前从来没有听说过,所以查了些资料,学习了Merkle Tree的知识,因为接触时间不长,对Merkle Tree的理解也...

2018-02-28 10:09:09

阅读数:268

评论数:0

区块链是什么

作者:maxdeath链接:https://www.zhihu.com/question/37290469/answer/167477833来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。首先要搞清一个问题——比特币是区块链,但是区块链并不是比特币。于是,在区块链的这...

2018-02-26 12:12:22

阅读数:137

评论数:0

区块链共识算法

转账自:https://mp.weixin.qq.com/s/Dnwdapt0zTZs04hbw0M_KQ首先,没有一种共识机制是完美无缺的,各共识机制都有其优缺点,有些共识机制是为解决一些特定的问题而生。1.pow( Proof of Work)工作量证明一句话介绍:干的越多,收的越多。依赖机器...

2018-02-12 15:03:46

阅读数:495

评论数:0

公司该如何创建适合自己的区块链产品、联盟链、私链

现在区块链是非常火的,很多公司都想蹭一把区块链,不管实际作用大不大,也要往区块链上靠一靠。那么这就难为了广大的技术开发人员,如何在完全不了解区块链的情况下,迅速为公司开发出区块链产品呢?区块链基础架构模型简单来总结区块链就是,这是一个数据库,与传统数据库区别最大的点是,传统数据库由一个中心来管理维...

2018-02-11 11:27:13

阅读数:863

评论数:0

分布式框架: Zookeeper与paxos算法

本文转载自:https://www.cnblogs.com/aspnethot/articles/3533956.html一、            zookeeper是什么官方说辞:Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到...

2018-02-05 14:11:18

阅读数:160

评论数:0

Raft 为什么是更易理解的分布式一致性算法

转载自:https://www.cnblogs.com/mindwind/p/5231986.html  感谢原作者的通俗解说一致性问题可以算是分布式领域的一个圣殿级问题了,关于它的研究可以回溯到几十年前。拜占庭将军问题Leslie Lamport 在三十多年前发表的论文《拜占庭将军问题》(参考[...

2018-02-05 13:09:40

阅读数:108

评论数:0

logback通过kafka接入ELK详解

原文链接:http://blog.csdn.net/zhangruhong168/article/details/76973212数据流向图示参考(图片来自百度以图搜图,向原作者致敬)开发人员如何使用elk开发人员需要做的就是将日志信息通过各种渠道发到kafka,本实例以logback为例进行说明...

2018-01-25 17:28:00

阅读数:175

评论数:0

zuul灰度发布功能实现

灰度发布、蓝绿发布、金丝雀发布各是什么意思,可以看这篇http://www.appadhoc.com/blog/product-release-strategy/。基于eureka、ribbon实现灰度发布,是这一篇要讲的知识。我们要发布版本了,在不确定正确性的情况下,我们选择先部分节点升级,然后...

2018-01-22 16:59:50

阅读数:1912

评论数:2

SpringCloud Feign重试详解

摘要: 今天在生产环境发生了数据库进程卡死的现象,除了sql因为全量更新,没加索引的原因,最主要还是我们的接口的服务器端接口出现问题了。忽视了更新接口的幂等性,以及调用方feign client的重试,导致接口重复执行。万幸的是数据已经修复,花了几个小时跟踪feign和ribbon的源码,把其原理...

2018-01-22 14:41:23

阅读数:524

评论数:0

SpringCloud重试机制配置

SpringCloud重试retry是一个很赞的功能,能够有效的处理单点故障的问题。主要功能是当请求一个服务的某个实例时,譬如你的User服务启动了2个,它们都在eureka里注册了,那么正常情况下当请求User服务时,ribbon默认会轮询这两个实例。此时如果其中一个实例故障了,发生了宕机或者超...

2018-01-22 14:34:44

阅读数:764

评论数:0

redis的一些知识-redis事务multi

redis是有事务的,但是不同于mysql的事务。redis的事务是由multi和exec包围起来的部分,当发出multi命令时,redis会进入事务,redis会进入阻塞状态,不再响应任何别的客户端的请求,直到发出multi命令的客户端再发出exec命令为止。那么被multi和exec包围的命令...

2018-01-16 10:33:00

阅读数:222

评论数:0

redis的一些知识-使用pipeline来大幅提升redis的处理速度

redis通过tcp来对外提供服务,client通过socket连接发起请求,每个请求在命令发出后会阻塞等待redis服务器进行处理,处理完毕后将结果返回给client。其实和一个http的服务器类似,一问一答,请求一次给一次响应。而这个过程在排除掉redis服务本身做复杂操作时的耗时的话,可以看...

2018-01-15 16:24:44

阅读数:542

评论数:0

redis的一些知识-配置文件解释

redis比较常用,但大部分人都是简单使用一下redis存一些key value,不太关心redis的持久化问题、事务、最大客户端连接数等问题。这一篇就是讲一些平时不太注意的事情。redis配置文件解释在redis的安装目录中,可以找到redis.conf,这个文件就是redis的主要配置文件,里...

2018-01-15 14:40:20

阅读数:196

评论数:0

同一套代码部署多个实例来并行完成某项任务,且避免重复执行

我经常会碰到一些耗时较长的任务,譬如更新5千万条表数据中的某个字段,代码中可以通过分页依次读取db,然后更新即可。但是耗时极长,那么能否通过将代码部署多个实例,譬如启动多个docker来并行执行任务,横向扩展,这样就能大幅减少耗时。但是问题在于代码是相同的,假如采用的是分页读取,依次更新,那么不管...

2018-01-05 15:20:45

阅读数:284

评论数:0

kafka使用时的一些总结

1.在kafka最新版kafka_2.12-1.0.0的config文件夹server.properties中可以看到num.partitions=1,这个代表每个topic默认的分区数量。当你创建topic时,如果不指定该topic的partition数量,那么默认就是1个分区。这意味着你的这个...

2018-01-05 14:45:13

阅读数:176

评论数:0

kafka partition(分区)与 group

转载自:https://www.cnblogs.com/liuwei6/p/6900686.html一、1、原理图2、原理描述一个topic 可以配置几个partition,produce发送的消息分发到不同的partition中,consumer接受数据的时候是按照group来接受,kafka确...

2018-01-05 09:41:29

阅读数:326

评论数:0

SpringBoot2.0 jpa多数据源配置

随着Springboot升级到2.0,原来1.5.x的Jpa多数据源配置不能用了。现在总结一下Springboot2.0的jpa多数据源配置连接池还是用druid,但是不能用druid的starter了,譬如在1.5.x时用的是 com.alibaba druid-spring-boo...

2017-12-26 18:15:34

阅读数:4541

评论数:4

【分布式】Zookeeper使用--开源客户端

转载自:http://www.cnblogs.com/leesf456/p/6032716.html一、前言  上一篇博客已经介绍了如何使用Zookeeper提供的原生态Java API进行操作,本篇博文主要讲解如何通过开源客户端来进行操作。二、ZkClient  ZkClient是在Zookee...

2017-12-22 10:16:10

阅读数:167

评论数:0

【分布式】Zookeeper应用场景

转载自:http://www.cnblogs.com/leesf456/p/6036548.html一、前言  在上一篇博客已经介绍了Zookeeper开源客户端的简单实用,本篇讲解Zookeeper的应用场景。二、典型应用场景  Zookeeper是一个高可用的分布式数据管理和协调框架,并且能够...

2017-12-22 10:14:59

阅读数:229

评论数:0

JVM GC调优一则--增大Eden Space提高性能

转载自:http://blog.csdn.net/hengyunabc/article/details/24924843缘起线上有Tomcat升级到7.0.52版,然后有应用的JVM FullGC变频繁,在高峰期socket连接数,Cpu使用率都暴增。思路思路是Tomcat本身的代码应该是没有问题...

2017-12-21 15:55:36

阅读数:254

评论数:1

zookeeper docker集群配置

本篇讲一下zookeeper在docker中集群搭建方式。先来看看zookeeper的单个Docker配置吧。共包含两个文件,一个Dockerfile,一个sh脚本Dockerfile如下:FROM openjdk:8-jre-alpine # Install required packages...

2017-12-19 16:34:43

阅读数:279

评论数:0

开发中大家如何对 JPA 或者 MyBatis 进行技术选型

原文地址:http://www.spring4all.com/question/112lexburner 3天前首先表达个人观点,JPA必然是首选的。个人认为仅仅讨论两者使用起来有何区别,何者更加方便,不足以真正的比较这两个框架。要评判出更加优秀的方案,我觉得可以从软件设计的角度来评判。个人对 m...

2017-12-19 11:48:20

阅读数:284

评论数:0

Docker下实战zabbix三部曲之三:自定义监控项

本文转载自:http://blog.csdn.net/boling_cavalry/article/details/77410178  @博陵精骑通过上一章《Docker下实战zabbix三部曲之二:监控其他机器》的实战,我们了解了对机器的监控是通过在机器上安装zabbix agent来完成的,z...

2017-12-18 11:00:45

阅读数:500

评论数:0

Docker下实战zabbix三部曲之二:监控其他机器

本文转载自:http://blog.csdn.net/boling_cavalry/article/details/77095153  @博陵精骑在上一章《Docker下实战zabbix三部曲之一:极速体验》中,我们快速安装了zabbix server,并登录管理页面查看了zabbix serve...

2017-12-18 10:59:34

阅读数:195

评论数:0

Docker下实战zabbix三部曲之一:极速体验

本文转载自:http://blog.csdn.net/boling_cavalry/article/details/76857936  @博陵精骑对于想学习和实践zabbix的读者来说,在真实环境搭建一套zabbix系统是件费时费力的事情,本文内容就是用docker来缩减搭建时间,目标是让读者们尽...

2017-12-18 10:57:58

阅读数:173

评论数:0

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