自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序车轮

物有本末,事有终始,知所先后,则近道矣。

  • 博客(28)
  • 资源 (19)
  • 收藏
  • 关注

原创 dubbo接口调试工具

最近的项目使用来dubbo进行开发,虽然可以使用telne客户端t进行dubbo的接口的调试,但总感觉调试起来不太方便,并且限制太多,于是抽了点时间出来编写了一个dubbo的客户端可视化调试工具,功能虽简单但可以快速的调试dubbo接口。该客户端通过连接注册中心(Nacos,Zookeeper,Redis)或者直连服务获取服务提供者进行dubbo接口调试。一、导入dubbo接口通过加载jar自动获取接口信息,生成请求参数的JSON个数,修改请求参数及将请求参数保存下来。二、配置注册...

2020-05-30 21:02:17 3290 3

原创 Elasticsearch文档表现及服务API操作

ElasticSearch是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。1.Elasticsearch中的文档表现...

2019-08-10 22:46:09 645

原创 HBase基于shell的增删改查等操作命令

1、基本命令1.1 查询状态(status)hbase(main):009:0> status1.2 查看版本(version) hbase(main):001:0> version1.3 查看帮助信息(help) hbase(main):038:0> helphbase(main):038:0> get helphb...

2019-07-26 20:27:10 1259

原创 MYSQL索引及查询优化

一、什么是索引 索引类似是大型图书馆建立书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在数据量较大(官方文档说500~800w记录)的情况下性能开始逐渐下降,所以大数据量建立索引来提高数据的检索效率是非常有必要的。1.1、索引的概念 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。我们可以简单理解为:...

2019-06-24 17:41:22 2177 1

原创 Spring注解配置事务管理

1 Sping事务简介事务管理是应用系统开发中必不可少的一部分,Spring为事务管理提供了丰富的功能支持。Spring事务管理分为编程式事务管理和声明式事务管理的两种方式。1.1 编程式事务编程式事务指的是通过编码方式实现事务,编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,sprin...

2019-06-11 21:57:45 4282

原创 [Node.js使用Mongoose操作MongoDB]

       在Node.js中使用mongoose模块操mongodb是很简单的事情,mongoose提供了一套丰富的api来操作mongodb。1 定义MongoDB的Schema结构//获取mongodb组件var mongoose = require('mongoose');/** * 表结构定义 * */var schema = new mongoose.Schem...

2018-08-20 08:53:55 443 2

原创 [Spark RDD转换操作运算子]

Spark RDD转换操作RDD,即弹性分布式数据集,全称为Resilient Distributed Dataset,是一个容错的,并行的数据结构,可以让用户显式地 将数据存储到磁盘和内存中,并能控制数据的分区。同时,RDD还提供了一组非常丰富的操作来操作这些数据,如:map,flatMap,filter等转换操作,以及SaveAsTextFile,conutByKey等行动操作。本博客中...

2018-07-24 23:30:57 7164

原创 [Spark好友推荐]

好友推荐概念     目前大量的社交网站上,它们都有一个共同的特性,就是可以在好友关系的基础上推荐更多的联系人。例如,QQ的“你可能认识的人”特性允许用户查看它们可能联系的人。基本思想就是:如果tom是jack的好友,而tom又是peter的好友,也就是说,tom是jack和peter的共同好友,但是jack和peter可能并不认识你。那么社交网络系统可能就会推荐jack与peter联系,又或...

2018-07-20 21:47:58 6412 1

原创 [Spark共同好友查找]

共同好友的概念      在一个庞大的社交网络中,两个互相认识的朋友之间的也会存在共同好友。在这个庞大的社交网络总,对所有的用户对中找到”共同好友”,这是一个复杂及有趣的事情。假设,U为一个用户及其所有好友的一个集合:{U1,U2,U3,…Un},我们要从每组集合(Ui,Uj)(i != j)找出共同好友关系。       在如今的大多数社交网络(Facebook,LinkedIn,QQ)...

2018-07-18 21:14:56 5082 5

原创 [Spark应用依赖jar包的添加解决方案]

Spark应用依赖jar包添加无效的解决方案      在Spark应用中,我们发现,在${SPARK_HOME}\lib文件夹中添加jar包时并不起作用。那么,要如何使得我们编写的Sparky应用依赖的jar有效呢?有如下四种方案:    1.使用参数--jars 添加本地的第三方jar文件(运行spark-submit脚本的机器上),可以给定多个jar文件,中间用逗号隔开     例子:   ...

2018-07-07 21:53:16 18580 4

原创 [Spark购物篮的关联规则实现]

       购物篮分析(Market Basket Analysis,MBA)是一个商品交易中流行的数据挖掘技术,市场营销人员和电子商务人员经常用这个技术来揭示不同商品或商品组合之间的相似度。商品数据挖掘的目标,一般是从庞大的数据集合中提取有趣及有用的关联信息,例如数前千万商品或信用卡销售交易。购物篮分析可以帮助分析人员找出很有可能一起购买的商品,关联规则挖掘则会发现一个交易商品之间的相关性。然...

2018-07-07 21:29:19 5350 1

原创 [Hadoop合并小文件的两种解决方案]

    在Hadoop的运行环境中,什么文件是小文件?在Hadoop的世界中,小文件是指文件大小远远小于HDFS块大小的文件。Hadoop2.0中,HDFS默认的块大小是128MB,所以,比如2MB,7MB或9MB的文件就认为是小文件。在Hadoop的环境中,块大小是可以通过参数配置的,这个参数由一个名为dfs.block.size定义。如果一个应用要处理一个超大的文件,可以通过这个参数设置更大更...

2018-07-03 21:50:28 28182 5

原创 [Spark中移动平均法的实现]

一、 基本概念       移动平均法是一种简单平滑预测技术,它的基本思想是:根据时间序列资料、逐项推移,依次计算包含一定项数的序时平均值,以反映短期趋势的方法。因此,当时间序列的数值由于受周期变动和随机波动的影响,起伏较大,不易显示出事件的发展趋势时,使用移动平均法可以消除这些因素的影响,显示出事件的发展方向与趋势(即趋势线),然后依趋势线分析预测序列的中短期趋势。       移动平均法的应用...

2018-06-24 21:28:19 10937 4

原创 [Spark的LeftOuterJoin操作]

    在编写SQL语句时,大家都比较熟悉的LeftOuterJoinn来关联两个表之间的数据,从而查询到我们想要的结果。在Spark的数据操作中,同样也会经常使用LeftOuterJoin来关联两个数据集。那么,在Spark数据操作中主要有那几种数据集的LeftOuterJoin方法呢?    本文中操作LeftOuterJoin方法时,主要用到的数据为用户表数据和用户订单交易数据,使用Left...

2018-06-12 20:56:38 16341

原创 [Hadoop-HA高可用集群部署]

1 集群规划      以5台机器为例,linux用的是CentOS 6.5 x64的机器对集群部署进行规划,所有机器的用户名及密码均为hadoop。名称 主机名 安装软件 JPS PC1 cdh.hadoo.com Jdk/hadoop NameNode ZKFC Resourcemanager JobHistoryServer PC2 master2.hadoop.com ...

2018-06-10 15:22:21 9762

原创 [Spark的TopN算法实现]

一、TopN算法    MapRedce中的TopN算法是一个经典的算法,由于每个map都只是实现了本地的TopN算法,而假设map有M个,在归约的阶段只有M x N次运算,这个结果是可以接受的并不会造成性能瓶颈。  MapRedce中的TopN算法在map阶段将使用TreeMap来实现排序,以到达可伸缩的目的。      本文将介绍三种TopN的算法:       1.唯一键的TopN算法,就是...

2018-06-09 22:35:54 19750 3

原创 [Spark的二次排序的实现]

二次排序原理    二次排序就是首先按照第一字段排序,然后再对第一字段相同的行按照第二字段排序,注意不能破坏第一次排序的结果。二次排序技术       假设对应的Key = K有如下值:         (K,V1), (K,V2),…,(K,Vn)     另外假设每个Vi是包含m个属性的一个元组,如下所示:         (Ai1,Ai2,…,Aim)在这里我们希望按Ai1对归约器的元组的值...

2018-06-05 20:59:56 16670 1

原创 [使用SparkSQL操作DataFrame]

    SparkSql 是一种处理结构化模型数据的Spark模块,它提供了一种叫做DataFrame抽象编程,它也可以作为分布式Sql查询引擎, SparkSql可以从已经安装的Hive服务中读取数据,也可以从RDBMS 数据库中读取数据。    在Spark2.0之后,引入了SparkSession新概念。SparkSession实质上是SQLContext和HiveContext的组合,所以...

2018-06-01 20:36:51 9357

原创 [Windows下eclipse调试hadoop环境配置]

Windows的hadoop环境配置      解压hadoop-2.5.0.zip到目录D:\ Program Files \ Java \ hadoop-2.5.0。      配置Hadoop的环境变量:      HADOOP_HOME = d:\ PROGRAMFILES \的Java \ Hadoop的2.5.0      PATH =%HADOOP_HOME%\ bin中eclips...

2018-05-27 20:16:31 7080

原创 [Scala Shell脚本执行]

    Scala语言来自于Scalable(可伸缩的),既可以写一些小的脚本,又可以写一写复杂的服务器端的程序。scala支持源文件解释执行,jar执行,各有利弊。本文主要介绍咋Linux系统中Scala的Shell脚本,Scala源文件,Scala的Jar执行方法。一、Shell脚本运行Scala     创建ScalaTest.sh文件,内容如下:#!/bin/shexec scala "...

2018-05-19 21:10:57 14406 2

原创 [Scala的协变和逆变]

    Scala中协变和逆变主要作用是用来解决参数化类型的泛化问题。由于参数化类型的参数(参数类型)是可变的,当两个参数化类型的参数是继承关系(可泛化),那被参数化的类型是否也可以泛化呢?在Java中这种情况下是不可泛化的,然而Scala提供了三个选择,即协变、逆变和非变,解决了参数化类型的泛化问题。协变和逆变     在Scala语言中,协变和逆变到处可见。如List,Queue等属于协变协变...

2018-05-16 20:34:34 11936

原创 [Java设计模式之单例模式]

  在Java程序中,要说用到的设计模式中,单例(Singleton)模式可能是使用最多的一种设计模式了。一些管理器和控制器常被设计成单例模式,在Spring中, 一个Component就只有一个实例在Java-Web中, 一个Servlet类只有一个实例。  Java中单例(Singleton)模式是一种使用广泛的设计模式,单例模式的主要作用是保证在Java应用程序中,某个类只有一个实例存在。单...

2018-05-15 20:28:40 13290 1

原创 [Scala隐式转换示例]

一、隐式转换    Scala编程语言中引入了一种叫做隐式类的新特性。隐式类指的是用implicit关键字修饰的类。在对应的作用域内,带有这个关键字的类的主构造函数可用于隐式转换。隐式转换是一项强大的程序语言功能,它不仅能够简化程序设计,也能够使程序具有很强的灵活性。掌握Scala语言隐式转换,了解其隐式转换的作用与原理是很有必要的,否则很难得以应手地处理日常开发中的问题。在Scala编程语言中,...

2018-05-13 22:35:00 15275

原创 [Scala高阶函数示例]

在Scala中,可以直接将某个函数作为参数传入其他的函数。带函数参数的函数由于是一个接受函数参数的函数,故被称为高阶函数(High-Order function)。/** * Scala高阶函数示例 */objectHighOrderFunction {  /*    * greeting就是高阶函数    * name:String类型的一个正常参数    * func:函数类型的一个参数,定义...

2018-05-13 09:23:18 10945

原创 [Hadoop完全分布式集群部署]

Hadoop完全分布式集群部署1 集群规划      以四台机器为例,linux用的是CentOS 6.5 x64的机器对集群部署进行规划,所有机器的用户名及密码均为hadoop。主机名 安装软件 JPS hdfs yarn HistoryServer cdh.hadoo.com Jdk/hadoop NameNode RecourceManager JobHistoryServe...

2018-05-12 14:34:55 12110

原创 [Hadoop性能调优]

一、 Hadoop概述   随着企业要处理的数据量越来越大,MapReduce思想越来越受到重视。Hadoop是MapReduce的一个开源实现,由于其良好的扩展性和容错性,已得到越来越广泛的应用。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提...

2018-05-11 21:56:16 12952 1

原创 [Eclipse构建maven scala和java项目]

Eclipse构建maven scala项目一、安装环境操作系统:Windows 10Eclipse版本:JVM:1.8Scala版本:2.11.0二、插件安装2.1 安装eclipse scala插件从eclipse marketplace中安装scala插件 在选项卡[Search]中输入scala,安装Scala IDE 4.7.x,根据提示一次安装即可。  2.2 安装m2e-scala插...

2018-04-24 09:52:28 13194

原创 [阿里OSS存储对象之Bucket访问]

       Bucket是OSS上的命名空间,权限控制、日志记录等高级功能的管理实体;Bucket名称在整个OSS服务中具有全局唯一性,且不能修改;存储在OSS上的每个Object必须都包含在某个Bucket中。一个应用,例如图片分享网站,可以对应一个或多个Bucket。一个用户最多可创建10个Bucket,但每个Bucket中存放的Object的数量和大小总和没有限制,用户不需要考虑数据的可扩...

2018-04-13 16:47:32 16757

RpcPost.jar

通过导入 dubbo api包,自动生成请求参数的JSON数据,通过注册中心找到服务提供者对dubbo接口进行调试,支持nacos,zookeeper,redis注册中心,同时单机版直接dubbo服务进行调试。

2020-05-30

Elasticsearch实战 in action中文版.pdf

本书主要展示如何使用Elasticsearch构建可扩展的搜索应用程序。书中覆盖了Elasticsearch的主要特性,从使用不同的分析器和查询类型进行相关性调优,到使用聚集功能进行实时性分析,还有地理空间搜索和文档过滤等更多吸引人的特性。 全书共分两个部分: 第一部分解释了核心特性,内容主要涉及Elasticsearch的介绍,数据的索引、更新和删除,数据的搜索,数据的分析,使用相关性进行搜索,使用聚集来探索数据,文档间的关系等; 第二部分介绍每个特性工作的更多细节及其对性能和可扩展性的影响,以便对核心功能进行产品化,内容主要涉及水平扩展和性能提升等。 此外,本书还有6个附录(网上下载),提供了读者应该知道的特性,展示了关于地理空间搜索和聚集,如何管理Elasticsearch插件,学习在搜索结果中如何高亮查询单词,在生产环境中用来协助管理Elasticsearch的第三方的监控工具有哪些,如何使用Percolator过滤为多个查询匹配少量文档,如何使用不同的建议器来实现自动完成的功能。

2019-07-16

Elasticsearch技术解析与实战.pdf

本书主要内容包括:   第1章 “Elasticsearch入门”,介绍Elasticsearch是什么、Apache Lucene的基础知识、Elasticsearch的术语、JSON介绍、Elasticsearch的安装运行、Elasticsearch的HTTP接口和Elasticsearch的Java API接口。   第2章 “索引”,介绍和Elasticsearch索引相关的接口,包括索引管理、索引映射管理、索引别名、索引设置、索引监控、索引其他重要接口以及文档管理。   第3章 “映射”,介绍Elasticsearch文档的内部结构,Elasticsearch支持的字段类型,除此之外,本章还将展示Elasticsearch内置的元字段,映射的参数和动态映射功能。   第4章 “搜索”,详细介绍和搜索相关的知识,包括搜索的详细参数,搜索的评分机制、滚动查询、系统内部隐藏内容的查询、搜索模板等;接着介绍Elasticsearch的领域查询语言DSL(Domain-specific Language)相关的知识点;最后介绍Elasticsearch的精简查询接口。   第5章 “聚合”,聚合可以对文档中的数据进行统计汇总、分组等,通过聚合可以完成很多的统计功能,该章介绍聚合相关的知识,包括度量聚合、分组聚合和管道聚合。   第6章 “集群管理”,详细介绍和集群相关的内容,包括集群的监控、集群分片迁移、集群的节点配置、集群发现、集群平衡的原理和配置。   第7章 “索引分词器”,介绍Elasticsearch的分词器和分词的原理,以及如何添加新的分词器等;还介绍Elasticsearch的插件相关知识,包括插件安装等。   第8章 “高级配置”,介绍Elasticsearch的高级配置,包括网络配置、脚本配置、快照和恢复配置、线程池配置和索引配置。   第9章 “告警、监控和权限管理”,介绍Elasticsearch官方支持的几个比较好的插件:Watcher、Marvel、Shield,它们可以对Elasticsearch进行告警、监控和权限管理。   第10章 “ELK应用”,介绍Elasticsearch与另外两个产品Logstash和Kibana如何组合使用,Logstash是对日志进行收集和处理,Kibana是对存储在Elasticsearch中的索引进行展示和报表分析;最后通过一个简单的示例来介绍ELK几个产品是如何关联的。   在编写本书的时候,Elasticsearch的最新版本是2.2.0,但本书准备正式出版的时候,Elasticsearch发布了最新的5.0版本。所以本书增加了一个附录专门介绍5.0版本的特性与改进。本书前面的部分截图是2.2.0版本的,书中所有的例子和功能都可以在Elasticsearch 2.3.3下运行,大部分的功能都可以在5.0下运行,详细的新版本差别请参考附录部分。本书中的例子大部分都是HTTP接口的,这些接口的测试

2019-06-12

Js封装的ztree-combotree

在ztree的基础上封装的JS的combotree对象,在同一个页面中可以多次使用,使用方便,只需要传入一个页面的div标签的id和ztree的zNodes数据源即可以创建一个好用的combotree控件,源码中的例子可以直接使用。

2018-07-24

Storm分布式实时计算模式.pdf

《Storm分布式实时计算模式》分为10章: 第l章介绍使用storm建立一 个分布式流式计算应用所涉及的核心概念,包括 storm的数据结构、开发环境的搭建,以及Storm 程序的开发和调试技术等; 第2章详细讲解storm 集群环境的安装和搭建,以及如何将topology部署 到分布式环境中; 第3章通过传感器数据实例详细 介绍Trident topology; 第4章讲解如何使用Storm 和Tridentj挂行实时趋势分析; 第5章介绍如何使用 Storm进行图形分析,将数据持久化存储在图形数 据库中,通过查询数据来发现其中潜在的联系; 第 6章讲解如何在Storm上使用递归实现一个典型的人 工智能算法; 第7章演示集成Storm和非事务型系统 的复杂性,通过集成Storm和开源探索性分析架构 Druid实现一个可配置的实时系统来分析金融事件。 第8章探讨Lambda体系结构的实现方法,讲解如何 将批处理机制和实时处理引擎结合起来构建一个可 纠错的分析系统; 第9章讲解如何将Pig脚本转化为 topology,并且使用Storm-YARN部署topology,从 而将批处理系统转化为实时系统; 第10章介绍如 何在云服务提供商提供的主机环境下部署和运行 Storm。

2018-07-16

Kafka权威指南(完整版)

前言 xv 第 1 章 初识Kafka 1 1.1 发布与订阅消息系统 1 1.1.1 如何开始 2 1.1.2 独立的队列系统 3 1.2 Kafka登场 4 1.2.1 消息和批次 4 1.2.2 模式 4 1.2.3 主题和分区 5 1.2.4 生产者和消费者 5 1.2.5 broker和集群 6 1.2.6 多集群 7 1.3 为什么选择Kafka 8 1.3.1 多个生产者 8 1.3.2 多个消费者 8 1.3.3 基于磁盘的数据存储 9 1.3.4 伸缩性 9 1.3.5 高性能 9 1.4 数据生态系统 9 1.5 起源故事 11 1.5.1 LinkedIn的问题 11 1.5.2 Kafka的诞生 12 1.5.3 走向开源 12 1.5.4 命名 13 1.6 开始Kafka之旅 13 第 2 章 安装Kafka 14 2.1 要事先行 14 2.1.1 选择操作系统 14 2.1.2 安装Java 14 2.1.3 安装Zookeeper 15 2.2 安装Kafka Broker 17 2.3 broker配置 18 2.3.1 常规配置 18 2.3.2 主题的默认配置 19 2.4 硬件的选择 23 2.4.1 磁盘吞吐量 23 2.4.2 磁盘容量 23 2.4.3 内存 23 2.4.4 网络 24 2.4.5 CPU 24 2.5 云端的Kafka 24 2.6 Kafka集群 24 2.6.1 需要多少个broker 25 2.6.2 broker 配置 25 2.6.3 操作系统调优 26 2.7 生产环境的注意事项 28 2.7.1 垃圾回收器选项 28 2.7.2 数据中心布局 29 2.7.3 共享Zookeeper 29 2.8 总结 30 第 3 章 Kafka生产者——向Kafka写入数据 31 3.1 生产者概览 32 3.2 创建Kafka生产者 33 3.3 发送消息到Kafka 34 3.3.1 同步发送消息 35 3.3.2 异步发送消息 35 3.4 生产者的配置 36 3.5 序列化器 39 3.5.1 自定义序列化器 39 3.5.2 使用Avro序列化 41 3.5.3 在Kafka里使用Avro 42 3.6 分区 45 3.7 旧版的生产者API 46 3.8 总结 47 第 4 章 Kafka消费者——从Kafka读取数据 48 4.1 KafkaConsumer概念 48 4.1.1 消费者和消费者群组 48 4.1.2 消费者群组和分区再均衡 51 4.2 创建Kafka消费者 52 4.3 订阅主题 53 4.4 轮询 53 4.5 消费者的配置 55 4.6 提交和偏移量 57 4.6.1 自动提交 58 4.6.2 提交当前偏移量 59 4.6.3 异步提交 59 4.6.4 同步和异步组合提交 61 4.6.5 提交特定的偏移量 61 4.7 再均衡监听器 62 4.8 从特定偏移量处开始处理记录 64 4.9 如何退出 66 4.10 反序列化器 67 4.11 独立消费者——为什么以及怎样使用没有群组的消费者 71 4.12 旧版的消费者API 71 4.13 总结 72 第 5 章 深入Kafka 73 5.1 集群成员关系 73 5.2 控制器 74 5.3 复制 74 5.4 处理请求 76 5.4.1 生产请求 78 5.4.2 获取请求 78 5.4.3 其他请求 80 5.5 物理存储 81 5.5.1 分区分配 81 5.5.2 文件管理 82 5.5.3 文件格式 83 5.5.4 索引 84 5.5.5 清理 84 5.5.6 清理的工作原理 84 5.5.7 被删除的事件 86 5.5.8 何时会清理主题 86 5.9 总结 86 第 6 章 可靠的数据传递 87 6.1 可靠性保证 87 6.2 复制 88 6.3 broker配置 89 6.3.1 复制系数 89 6.3.2 不完全的首领选举 90 6.3.3 最少同步副本 91 6.4 在可靠的系统里使用生产者 92 6.4.1 发送确认 92 6.4.2 配置生产者的重试参数 93 6.4.3 额外的错误处理 94 6.5 在可靠的系统里使用消费者 94 6.5.1 消费者的可靠性配置 95 6.5.2 显式提交偏移量 95 6.6 验证系统可靠性 97 6.6.1 配置验证 98 6.6.2 应用程序验证 98 6.6.3 在生产环境监控可靠性 99 6.7 总结 100 第 7 章 构建数据管道 101 7.1 构建数据管道时需要考虑的问题 102 7.1.1 及时性 102 7.1.2 可靠性 102 7.1.3 高吞吐量和动态吞吐量 103 7.1.4 数据格式 103 7.1.5 转换 104 7.1.6 安全性 104 7.1.7 故障处理能力 104 7.1.8 耦合性和灵活性 105 7.2 如何在Connect API和客户端API之间作出选择 105 7.3 Kafka Connect 106 7.3.1 运行Connect 106 7.3.2 连接器示例——文件数据源和文件数据池 107 7.3.3 连接器示例——从MySQL到ElasticSearch 109 7.3.4 深入理解Connect 114 7.4 Connect之外的选择 116 7.4.1 用于其他数据存储的摄入框架 116 7.4.2 基于图形界面的ETL工具 117 7.4.3 流式处理框架 117 7.5 总结 117 第 8 章 跨集群数据镜像 118 8.1 跨集群镜像的使用场景 118 8.2 多集群架构 119 8.2.1 跨数据中心通信的一些现实情况 119 8.2.2 Hub和Spoke架构 120 8.2.3 双活架构 121 8.2.4 主备架构 123 8.2.5 延展集群 127 8.3 Kafka的MirrorMaker 128 8.3.1 如何配置 129 8.3.2 在生产环境部署MirrorMaker 130 8.3.3 MirrorMaker调优 132 8.4 其他跨集群镜像方案 134 8.4.1 优步的uReplicator 134 8.4.2 Confluent的Replicator 135 8.5 总结 135 第 9 章 管理Kafka 136 9.1 主题操作 136 9.1.1 创建主题 137 9.1.2 增加分区 138 9.1.3 删除主题 138 9.1.4 列出集群里的所有主题 139 9.1.5 列出主题详细信息 139 9.2 消费者群组 140 9.2.1 列出并描述群组 140 9.2.2 删除群组 142 9.2.3 偏移量管理 142 9.3 动态配置变更 143 9.3.1 覆盖主题的默认配置 143 9.3.2 覆盖客户端的默认配置 145 9.3.3 列出被覆盖的配置 145 9.3.4 移除被覆盖的配置 146 9.4 分区管理 146 9.4.1 首选的首领选举 146 9.4.2 修改分区副本 147 9.4.3 修改复制系数 150 9.4.4 转储日志片段 151 9.4.5 副本验证 152 9.5 消费和生产 153 9.5.1 控制台消费者 153 9.5.2 控制台生产者 155 9.6 客户端ACL 157 9.7 不安全的操作 157 9.7.1 移动集群控制器 157 9.7.2 取消分区重分配 157 9.7.3 移除待删除的主题 158 9.7.4 手动删除主题 158 9.8 总结 159 第 10 章 监控Kafka 160 10.1 度量指标基础 160 10.1.1 度量指标在哪里 160 10.1.2 内部或外部度量 161 10.1.3 应用程序健康检测 161 10.1.4 度量指标的覆盖面 161 10.2 broker的度量指标 162 10.2.1 非同步分区 162 10.2.2 broker度量指标 166 10.2.3 主题和分区的度量指标 173 10.2.4 Java虚拟机监控 174 10.2.5 操作系统监控 175 10.2.6 日志 176 10.3 客户端监控 177 10.3.1 生产者度量指标 177 10.3.2 消费者度量指标 179 10.3.3 配额 181 10.4 延时监控 182 10.5 端到端监控 183 10.6 总结 183 第 11 章 流式处理 184 11.1 什么是流式处理 185 11.2 流式处理的一些概念 186 11.2.1 时间 187 11.2.2 状态 188 11.2.3 流和表的二元性 188 11.2.4 时间窗口 189 11.3 流式处理的设计模式 190 11.3.1 单个事件处理 191 11.3.2 使用本地状态 191 11.3.3 多阶段处理和重分区 193 11.3.4 使用外部查找——流和表的连接 193 11.3.5 流与流的连接 195 11.3.6 乱序的事件 195 11.3.7 重新处理 196 11.4 Streams示例 197 11.4.1 字数统计 197 11.4.2 股票市场统计 199 11.4.3 填充点击事件流 201 11.5 Kafka Streams的架构概览 202 11.5.1 构建拓扑 202 11.5.2 对拓扑进行伸缩 203 11.5.3 从故障中存活下来 205 11.6 流式处理使用场景 205 11.7 如何选择流式处理框架 206 11.8 总结 208 附录A 在其他操作系统上安装Kafka 209

2018-06-21

Spark的TopN示例

Spark中实现MapReduce的TopN算法,分为唯一键TopN算法,非唯一键TopN算法和Group内的TopN算法

2018-06-10

Spark快速大数据分析.pdf

本书由 Spark 开发者及核心成员共同打造,讲解了网络大数据时代应运而生的、能高效迅捷地分析处理数据的工具——Spark,它带领读者快速掌握用 Spark 收集、计算、简化和保存海量数据的方法,学会交互、迭代和增量式分析,解决分区、数据本地化和自定义序列化等问题。 目录 1.1 Spark是什么 1 1.2 一个大一统的软件栈 2 1.2.1 Spark Core 2 1.2.2 Spark SQL 3 1.2.3 Spark Streaming 3 1.2.4 MLlib 3 1.2.5 GraphX 3 1.2.6 集群管理器 4 1.3 Spark的用户和用途 4 1.3.1 数据科学任务 4 1.3.2 数据处理应用 5 1.4 Spark简史 5 1.5 Spark的版本和发布 6 1.6 Spark的存储层次 6 第2章 Spark下载与入门 7 2.1 下载Spark 7 2.2 Spark中Python和Scala的shell 9 2.3 Spark 核心概念简介 12 2.4 独立应用 14 2.4.1 初始化SparkContext 15 2.4.2 构建独立应用 16 2.5 总结 19 第3章 RDD编程 21 3.1 RDD基础 21 3.2 创建RDD 23 3.3 RDD操作 24 3.3.1 转化操作 24 3.3.2 行动操作 26 3.3.3 惰性求值 27 3.4 向Spark传递函数 27 3.4.1 Python 27 3.4.2 Scala 28 3.4.3 Java 29 3.5 常见的转化操作和行动操作 30 3.5.1 基本RDD 30 3.5.2 在不同RDD类型间转换 37 3.6 持久化( 缓存) 39 3.7 总结 40 第4章 键值对操作 41 4.1 动机 41 4.2 创建Pair RDD 42 4.3 Pair RDD的转化操作 42 4.3.1 聚合操作 45 4.3.2 数据分组 49 4.3.3 连接 50 4.3.4 数据排序 51 4.4 Pair RDD的行动操作 52 4.5 数据分区(进阶) 52 4.5.1 获取RDD的分区方式 55 4.5.2 从分区中获益的操作 56 4.5.3 影响分区方式的操作 57 4.5.4 示例:PageRank 57 4.5.5 自定义分区方式 59 4.6 总结 61 第5章 数据读取与保存 63 5.1 动机 63 5.2 文件格式 64 5.2.1 文本文件 64 5.2.2 JSON 66 5.2.3 逗号分隔值与制表符分隔值 68 5.2.4 SequenceFile 71 5.2.5 对象文件 73 5.2.6 Hadoop输入输出格式 73 5.2.7 文件压缩 77 5.3 文件系统 78 5.3.1 本地/“常规”文件系统 78 5.3.2 Amazon S3 78 5.3.3 HDFS 79 5.4 Spark SQL中的结构化数据 79 5.4.1 Apache Hive 80 5.4.2 JSON 80 5.5 数据库 81 5.5.1 Java数据库连接 81 5.5.2 Cassandra 82 5.5.3 HBase 84 5.5.4 Elasticsearch 85 5.6 总结 86 第6章 Spark编程进阶 87 6.1 简介 87 6.2 累加器 88 6.2.1 累加器与容错性 90 6.2.2 自定义累加器 91 6.3 广播变量 91 6.4 基于分区进行操作 94 6.5 与外部程序间的管道 96 6.6 数值RDD 的操作 99 6.7 总结 100 第7章 在集群上运行Spark 101 7.1 简介 101 7.2 Spark运行时架构 101 7.2.1 驱动器节点 102 7.2.2 执行器节点 103 7.2.3 集群管理器 103 7.2.4 启动一个程序 104 7.2.5 小结 104 7.3 使用spark-submit 部署应用 105 7.4 打包代码与依赖 107 7.4.1 使用Maven构建的用Java编写的Spark应用 108 7.4.2 使用sbt构建的用Scala编写的Spark应用 109 7.4.3 依赖冲突  111 7.5 Spark应用内与应用间调度 111 7.6 集群管理器 112 7.6.1 独立集群管理器 112 7.6.2 Hadoop YARN 115 7.6.3 Apache Mesos 116 7.6.4 Amazon EC2 117 7.7 选择合适的集群管理器 120 7.8 总结 121 第8章 Spark调优与调试 123 8.1 使用SparkConf配置Spark 123 8.2 Spark执行的组成部分:作业、任务和步骤 127 8.3 查找信息 131 8.3.1 Spark网页用户界面 131 8.3.2 驱动器进程和执行器进程的日志 134 8.4 关键性能考量 135 8.4.1 并行度 135 8.4.2 序列化格式 136 8.4.3 内存管理 137 8.4.4 硬件供给 138 8.5 总结 139 第9章 Spark SQL 141 9.1 连接Spark SQL 142 9.2 在应用中使用Spark SQL 144 9.2.1 初始化Spark SQL 144 9.2.2 基本查询示例 145 9.2.3 SchemaRDD 146 9.2.4 缓存 148 9.3 读取和存储数据 149 9.3.1 Apache Hive 149 9.3.2 Parquet 150 9.3.3 JSON 150 9.3.4 基于RDD 152 9.4 JDBC/ODBC服务器 153 9.4.1 使用Beeline 155 9.4.2 长生命周期的表与查询 156 9.5 用户自定义函数 156 9.5.1 Spark SQL UDF 156 9.5.2 Hive UDF 157 9.6 Spark SQL性能 158 9.7 总结 159 第10章 Spark Streaming 161 10.1 一个简单的例子 162 10.2 架构与抽象 164 10.3 转化操作 167 10.3.1 无状态转化操作 167 10.3.2 有状态转化操作 169 10.4 输出操作 173 10.5 输入源 175 10.5.1 核心数据源 175 10.5.2 附加数据源 176 10.5.3 多数据源与集群规模 179 10.6 24/7不间断运行 180 10.6.1 检查点机制 180 10.6.2 驱动器程序容错 181 10.6.3 工作节点容错 182 10.6.4 接收器容错 182 10.6.5 处理保证 183 10.7 Streaming用户界面 183 10.8 性能考量 184 10.8.1 批次和窗口大小 184 10.8.2 并行度 184 10.8.3 垃圾回收和内存使用 185 10.9 总结 185 第11章 基于MLlib的机器学习 187 11.1 概述 187 11.2 系统要求 188 11.3 机器学习基础 189 11.4 数据类型 192 11.5 算法 194 11.5.1 特征提取 194 11.5.2 统计 196 11.5.3 分类与回归 197 11.5.4 聚类 202 11.5.5 协同过滤与推荐 203 11.5.6 降维 204 11.5.7 模型评估 206 11.6 一些提示与性能考量 206 11.6.1 准备特征 206 11.6.2 配置算法 207 11.6.3 缓存RDD以重复使用 207 11.6.4 识别稀疏程度 207 11.6.5 并行度 207 11.7 流水线API 208 11.8 总结 209 作者简介 210 封面介绍 210 [1]

2018-06-08

Spark高级数据分析.pdf

本书是使用Spark进行大规模数据分析的实战宝典,由大数据公司Cloudera的数据科学家撰写。四位作者首先结合数据科学和大数据分析的广阔背景讲解了Spark,然后介绍了用Spark和Scala进行数据处理的基础知识,接着讨论了如何将Spark用于机器学习,同时介绍了常见应用中几个常用的算法。此外还收集了一些更加新颖的应用,比如通过文本隐含语义关系来查询Wikipedia或分析基因数据。 目录 推荐序 ix 译者序 xi 序 xiii 前言 xv 第1 章 大数据分析 1 1.1 数据科学面临的挑战 2 1.2 认识Apache Spark 4 1.3 关于本书 5 第2 章 用Scala 和Spark 进行数据分析 7 2.1 数据科学家的Scala 8 2.2 Spark 编程模型 9 2.3 记录关联问题 9 2.4 小试牛刀:Spark shell 和SparkContext 10 2.5 把数据从集群上获取到客户端 15 2.6 把代码从客户端发送到集群 18 2.7 用元组和case class 对数据进行结构化 19 2.8 聚合 23 2.9 创建直方图 24 2.10 连续变量的概要统计 25 2.11 为计算概要信息创建可重用的代码 26 2.12 变量的选择和评分简介 30 2.13 小结 31 第3 章 音乐推荐和Audioscrobbler 数据集 33 3.1 数据集 34 3.2 交替最小二乘推荐算法 35 3.3 准备数据 37 3.4 构建第一个模型 39 3.5 逐个检查推荐结果 42 3.6 评价推荐质量 43 3.7 计算AUC 44 3.8 选择超参数 46 3.9 产生推荐 48 3.10 小结 49 第4 章  用决策树算法预测森林植被 51 4.1 回归简介 52 4.2 向量和特征 52 4.3 样本训练 53 4.4 决策树和决策森林 54 4.5 Covtype 数据集 56 4.6 准备数据 57 4.7 第一棵决策树 58 4.8 决策树的超参数 62 4.9 决策树调优 63 4.10 重谈类别型特征 65 4.11 随机决策森林 67 4.12 进行预测 69 4.13 小结 69 第5 章 基于K 均值聚类的网络流量异常检测 71 5.1 异常检测 72 5.2 K 均值聚类 72 5.3 网络入侵 73 5.4 KDD Cup 1999 数据集 73 5.5 初步尝试聚类 74 5.6 K 的选择 76 5.7 基于R 的可视化 79 5.8 特征的规范化 81 5.9 类别型变量 83 5.10 利用标号的熵信息 84 5.11 聚类实战 85 5.12 小结 86 第6 章 基于潜在语义分析算法分析维基百科 89 6.1 词项- 文档矩阵 90 6.2 获取数据 91 6.3 分析和准备数据 92 6.4 词形归并 93 6.5 计算TF-IDF 94 6.6 奇异值分解 97 6.7 找出重要的概念 98 6.8 基于低维近似的查询和评分 101 6.9 词项- 词项相关度 102 6.10 文档- 文档相关度 103 6.11 词项- 文档相关度 105 6.12 多词项查询 106 6.13 小结 107 第7 章 用GraphX 分析伴生网络 109 7.1 对MEDLINE 文献引用索引的网络分析 110 7.2 获取数据 111 7.3 用Scala XML 工具解析XML 文档 113 7.4 分析MeSH 主要主题及其伴生关系 114 7.5 用GraphX 来建立一个伴生网络 116 7.6 理解网络结构 119 7.6.1 连通组件 119 7.6.2 度的分布 122 7.7 过滤噪声边 124 7.7.1 处理EdgeTriplet 125 7.7.2 分析去掉噪声边的子图 126 7.8 小世界网络 127 7.8.1 系和聚类系数 128 7.8.2 用Pregel 计算平均路径长度 129 7.9 小结 133 第8 章 纽约出租车轨迹的空间和时间数据分析 135 8.1 数据的获取 136 8.2 基于Spark 的时间和空间数据分析 136 8.3 基于JodaTime 和NScalaTime 的时间数据处理 137 8.4 基于Esri Geometry API 和Spray 的地理空间数据处理 138 8.4.1 认识Esri Geometry API 139 8.4.2 GeoJSON 简介 140 8.5 纽约市出租车客运数据的预处理 142 8.5.1 大规模数据中的非法记录处理 143 8.5.2 地理空间分析 147 8.6 基于Spark 的会话分析 149 8.7 小结 153 第9 章 基于蒙特卡罗模拟的金融风险评估 155 9.1 术语 156 9.2 VaR 计算方法 157 9.2.1 方差- 协方差法 157 9.2.2 历史模拟法 157 9.2.3 蒙特卡罗模拟法 157 9.3 我们的模型 158 9.4 获取数据 158 9.5 数据预处理 159 9.6 确定市场因素的权重 162 9.7 采样 164 9.8 运行试验 167 9.9 回报分布的可视化 170 9.10 结果的评估 171 9.11 小结 173 第10 章 基因数据分析和BDG 项目 175 10.1 分离存储与模型 176 10.2 用ADAM CLI 导入基因学数据 178 10.3 从ENCODE 数据预测转录因子结合位点 185 10.4 查询1000 Genomes 项目中的基因型 191 10.5 小结 193 第11 章 基于PySpark 和Thunder 的神经图像数据分析 195 11.1 PySpark 简介 196 11.2 Thunder 工具包概况和安装 199 11.3 用Thunder 加载数据 200 11.4 用Thunder 对神经元进行分类 207 11.5 小结 211 附录A Spark 进阶 213 附录B 即将发布的MLlib Pipelines API 221 作者介绍 226 封面介绍 226 [1]

2018-06-08

Hadoop权威指南+第3版+修订版.pdf

《Hadoop权威指南(中文版)》从Hadoop的缘起开始,由浅入深,结合理论和实践,全方位地介绍Hadoop这一高性能处理海量数据集的理想工具。全书共14章,3个附录,涉及的主题包括:Haddoop简介;MapReduce简介:Hadoop分布式文件系统;Hadoop的I/O、MapReduee应用程序开发:MapReduee的工作机制;MapReduee的类型和格式;MapReduce的特性;如何安装Hadoop集群,如何管理Hadoop:Pig简介;Hbase简介;ZooKeeper简介,最后还提供了丰富的案例分析。 本书是Hadoop权威参考,程序员可从中探索如何分析海量数据集,管理员可以从中了解如何安装与运行Hadoop集群

2018-06-07

HBase权威指南(中文版).pdf

《HBase权威指南》探讨了如何通过使用与HBase高度集成的Hadoop将HBase的可伸缩性变得简单;把大型数据集分布到相对廉价的商业服务器集群中;使用本地Java客户端,或者通过提供了REST、Avro和Thrift应用编程接口的网关服务器来访问HBase;了解HBase架构的细节,包括存储格式、预写日志、后台进程等;在HBase中集成MapReduce框架;了解如何调节集群、设计模式、拷贝表、导入批量数据和删除节点等。 《HBase权威指南》适合使用HBase进行数据库开发的高级数据库研发人员阅读。

2018-06-05

Scala编程完整版

Scala编程介绍了一种新的编程语言,它把面向对象和函数式编程概念有机地结合为整体,从而形成一种完整统一、语义丰富的新思维体系。《Scala编程》循序渐进,由浅入深,经作者精心组织、仔细编排,将语言中的各种概念自然地铺陈在字里行间。除此之外,《Scala编程》还包含了大量富有针对性和趣味性的示例,它们除了提供对语言各个方面的具体演示之外,还从侧面说明了如何将函数式编程的理念切实并广泛地应用到面向对象编程中。 《Scala编程》面向的读者是有一定编程经验的开发人员,他们希望能够开拓眼界,并致力于提高在软件开发各方面的技能。 Scala编程 目录: 第1章 可伸展的语言 3 第2章 Scala入门初探 15 第3章 Scala入门再探 23 第4章 类和对象 37 第5章 基本类型和操作 47 第6章 函数式对象 61 第7章 内建控制结构 73 第8章 函数和闭包 89 第9章 控制抽象 103 第10章 组合与继承 113 第11章 Scala的层级 131 第12章 特质 137 第13章 包和引用 151 第14章 断言和单元测试 161 第15章 样本类和模式匹配 171 第16章 使用列表 193 第17章 集合类型 215 第18章 有状态的对象 233 第19章 类型参数化 249 第20章 抽象成员 265 第21章 隐式转换和参数 285 第22章 实现列表 301 第23章 重访For表达式 309 第24章 抽取器(Extractors) 321 第25章 注解 331 第26章 使用XML 335 第27章 使用对象的模块化编程 345 第28章 对象相等性 355 第29章 结合Scala和Java 373 第30章 Actor和并发 383 第31章 连结符解析 407 第32章 GUI编程 427 第33章 Scell试算表 435

2018-06-02

数据算法 Hadoop Spark大数据处理技巧

《数据算法:Hadoop/Spark大数据处理技巧》介绍了很多基本设计模式、优化技术和数据挖掘及机器学习解决方案,以解决生物信息学、基因组学、统计和社交网络分析等领域的很多问题。这还概要介绍了MapReduce、Hadoop和Spark。 主要内容包括: ■ 完成超大量交易的购物篮分析。 ■ 数据挖掘算法(K-均值、KNN和朴素贝叶斯)。 ■ 使用超大基因组数据完成DNA和RNA测序。 ■ 朴素贝叶斯定理和马尔可夫链实现数据和市场预测。 ■ 推荐算法和成对文档相似性。 ■ 线性回归、Cox回归和皮尔逊(Pearson)相关分析。 ■ 等位基因频率和DNA挖掘。 ■ 社交网络分析(推荐系统、三角形计数和情感分析)。 适读人群 :这本书面向了解Java基础知识并且想使用Hadoop和Spark 开发MapReduce 算法(数据挖掘、机器学习、生物信息技术、基因组和统计领域)和解决方案的软件工程师、软件架构师、数据科学家和应用开发人员。

2018-06-01

SparkSQ操作DataFrame,合并DataFrame

例子中定义了多个List数据集合,包括用户信息,订单信息,用户订单信息,将List对象生成DataFrame,使用SparkSQL查询将多个DataFrame合成一个DataFrame,使用Scala语言编写。

2018-05-30

Java编写的PDF报表文件

Java使用com.lowagie.text.pdf插件编写的PDF报表工具类,支持动态报表创建,使用简单,附件中包含了测试类和生成的报表文件。附件中的代码需要修改相关的保存路径后可以直接使用。创建一张报表例子: private JsFileExportResult createRowReport() { String condition = "开始时间:2018-02-02 14:00:30 结束时间:2018-02-06 16:00:30"; PDFGridReport pdfReport = new PDFGridReport("报表创建测试", GridReportTestModel.getModels()); pdfReport.addCondition(condition); pdfReport.header("字段名称1", "item1", 0, 0).width(160); pdfReport.header("字段名称3", "item3", 0, 2).getCell().backgroundColor(Color.ORANGE); pdfReport.header("字段名称4", "item4", 0, 3); pdfReport.header("字段名称5", "item5", 0, 4); pdfReport.header("字段名称2", "item2", 0, 1); pdfReport.header("值", "value", 0, 5).alignH(HAlign.ALIGN_CENTER).getCell().alignH(HAlign.ALIGN_RIGHT); pdfReport.header("时间", "time", 0, 6); pdfReport.header("图片", "image", 0, 7).width(60).alignH(HAlign.ALIGN_CENTER).getCell() .alignH(HAlign.ALIGN_CENTER).alignV(VAlign.ALIGN_MIDDLE); // 横向打印 pdfReport.getPageSetting().setPrintHorizontal(); pdfReport.group("item1").childGroup("item2"); pdfReport.setCellFormat(new PDFCellValueFormat() { @Override public String format(String fieldName, String oriValue) { if ("value".equals(fieldName)) { return String.format("%.2f", Double.parseDouble(oriValue)).toString(); } else { return oriValue; } } }); JsFileExportResult fileResult = pdfReport.createReport(); return fileResult; }

2018-05-19

基于ListView构建虚拟化TreeListView

基于WPF的ListView,构建树形结构的TreeListView,使用虚拟化技术,展开节点时加载子节点的信息。数据显示效率高,可轻松展示上百万的数据量。

2018-05-17

使用虚拟化技术实现WPF的TreeView的数据展示

使用虚拟化技术,基于ListBox的基础上实现WPF的TreeView数据的展示,能够轻松在界面上展示百万级的数据,代码可直接使用

2018-05-15

Java单例模式设计

代码中演示了Java设计模式中的单例模式,其中包括饿汉单例模式,懒汉单例模式以及序列化饭序列化单例模式。在实际的开发中,可以直接借鉴使用。

2018-05-15

基于Chrome内核的WPF浏览器开发

一个基于Google Chrome内核的WPF浏览器开发,包括源码就完整的插件文件,可以直接使用。

2018-05-14

空空如也

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

TA关注的人

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