自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(320)
  • 资源 (1)
  • 收藏
  • 关注

原创 无重复数列中Nsum问题

public void testKNumEqualsTarget() { Integer[] nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int k = 3; int target = 20; List<List<Integer>> r = new ArrayList<>(); testKSum(new LinkedList<>(), nums, 0, k, target, 0, ..

2021-01-25 19:01:38 160

原创 消除排序数组中重复数

返回新数组长度int[] nums = {1,2,2,2,3,3,4,4,5,5,6,7}int cur = 0;int less = 0;while(cur<nums.length){ if(cur>0 && nums[cur]==nums[cur-1]){ cur++; }else{ nums[less] = nums[cur]; less++; cur++; }}//新数组中无重复元素的长度return less;...

2021-01-25 17:46:23 232

原创 数列的排列/组合/组合sum问题

从数列中找到k个数的全排列情况 private void doAllRange(LinkedList<Integer> path, int[] nums, int k, List<List<Integer>> r) { if (path.size() == k) { r.add(new ArrayList<>(path)); return; } for (int i = 0; i < .

2021-01-19 11:52:02 329

原创 翻转二叉树

递归二叉树中递归比较神奇的是:一个节点在递归发生的过程中可以回到该节点三次。public TreeNode flipBiTree(TreeNode root) { if (root == null) { return null; } final TreeNode treeNode = flipBiTree(root.left); final TreeNode treeNode1 = flipBiTree(root.right); //第三次回到这个

2021-01-18 19:06:48 118

原创 二叉树中根-叶节点路径(和)问题

记录二叉树中路径问题1、打印所有从根节点-叶节点的路径public void selectPaths(LinkedList<TreeNode> path, TreeNode node, List<List<TreeNode>> list) { if (node == null) { return; } path.add(node); if (node.left == null && node.right ==

2021-01-18 18:43:24 287

原创 荷兰国旗与快排问题

主要是记录用同一个思路,解决2个问题。荷兰国旗问题int[] nums = {1,2,3,4,6,7,10,9,123,3}int target = 10;//以target为界分成 三个区域 private int[] edges(int[] nums, int L, int R, int target) { //定义一个左边界less int less = L - 1; int more = R + 1; int cur = L; //只要当前值不.

2021-01-18 17:00:27 133

转载 innodb引擎之ibd文件与undo log

1 通过对一行数据的解读来了解InnoDB是怎么组织一行数据的。2 ROLL POINTER并不是一串简单的数字,背后是undo log的身影,也是实现MVCC的基础。https://juejin.im/post/5f06b2e1f265da22f511d524

2020-07-11 16:48:14 199

原创 gem安装innodb_ruby

mac下需要brew install ruby。git clone https://github.com/rubygems/rubygems.gitcd rubygems/bin/./gem install innodb_ruby

2018-10-12 17:03:55 786

原创 kubenetes权威指南中第一章demo

1.关于安装kubenetes,很多坑。2.yaml文件格式问题3.30001端口问题先开防火墙,打开30001端口,在关闭防火墙systemctl start firewalldfirewall-cmd --zone=public --add-port=30001/tcp --permanentsystemctl stop firewalldsystemctl disable fi...

2018-10-10 17:01:17 579

原创 RN

接收到的事件处理可能导致处理结果中的某些数据需要显示在UI界面上。这些数据可以成为该RN组件的状态机变量。我们把他们称为状态机变量备选名单。重复数据: * 该数据可以由备选名单上 的其他数据通过某种规则计算得出; * ...

2018-08-14 13:12:41 455

原创 图片

js图片

2018-04-10 21:46:54 212

原创 PHP中函数的引用返回

function &amp;test(){ static $b=0; $b=$b+1; echo $b; return $b;$a=test(); //输出$b的值为1$a=5;$a=test(); //$b的值为2;$a=&amp;test(); $a=5;$a=test(); //这条语句会输出$b=6。注意: 1.$a=tes...

2018-03-09 23:01:21 1209

原创 Redis的发布与订阅

频道的订阅与退订当一个客户端执行SUBSCRIBE命令订阅某个或某些频道的时候,这个客户端与被订阅频道之间就建立起了一种订阅关系。 Redis将所有频道的订阅关系都保存在服务器状态的pubsub_channels字典里面,这个字典的键是某个被订阅的频道,而键的值则是一个链表,链表里面记录了所有订阅这个频道的客户端。struct redisServer{ //保存所有频道的订阅

2018-01-27 20:54:42 748

原创 离散型随机变量

离散型随机变量离散型随机变量的概率分布可以用概率质量函数(probability mass function,PMF)。我们可以用大写字母P来表示概率质量函数。 通常用P表示概率质量函数。通常每一个随机变量都会有一个不同的概率质量函数,并且读者必须根据随机变量来推断所使用的PMF,而不是根据函数名称来推断,如P(x)通常和P(y) 不一致。概率质量函数将随机变量能够取得的每个状态映射到

2018-01-07 11:37:39 2371

原创 Redis实战

Redis5种数据结构String 字符串、整数、浮点数List 一个链表,链表上每个节点包含一个字符串Set 包含字符串的无序收集器,并且被包含的每个字符串都是各不相同的Hash 键值对的无序散列表Zset 字符串成员与浮点数分值之间的有序映射,元素的排列顺序由分值大小决定Redis字符串字符串可以存储3种类型的值:字符串、整数、浮点数。当用户将一个值存储到Re

2018-01-06 17:17:01 364

原创 Spark推荐系统中用户-物品模型

矩阵分解1.显式矩阵分解当要处理的那些数据是由用户所提供的自身的偏好数据,这些数据被称为显式偏好数据。 这类数据包括如物品的评级、赞、喜欢等用户对物品的评价。 这些数据可以转换为以用户为行、物品为列的二维矩阵。矩阵的每一个数据表示某个用户对特定物品的偏好。大部分情况下单个用户只会和少部分物品接触,所以该矩阵只有少部分数据非0(稀疏矩阵)如: Tom, Star Wars, 5 Jane, T

2018-01-02 17:59:49 1707

原创 Scala中trait

单基础多实现,但是接口只能包含抽象方法,不能包含字段。 trait可以同时拥有抽象方法和具体方法,而类可以实现多个trait。做接口使用的traittrait Logger{ def log(msg:String) //抽象方法}不需要将方法声明为abstract—trait中未被实现的方法默认就是抽象的。在重写trait的抽象方法时候不需要给出override关键字class Co

2017-12-17 17:07:06 581

原创 Scala中继承

扩展类Scala扩展类的方式与Java一样—使用extends关键字class Employee extends Person{ var salary=0.0 ...}与Java中一样,你可以将类声明为final,这样它就不能被扩展。还可以将单个方法或字段声明为final,以确保它们不能被重写。重写方法在Scala中重写一个非抽象方法必须使用override修饰符。public c

2017-12-17 16:32:29 329

原创 Scala中类private

类中属性没有修饰符,默认publicclass Counter{ var value=0 def increment(){value+=1;println("hello world")} def isLess(other:Counter)=value<other.value //def current=value}val n=new Counterval n1=new Cou

2017-12-17 15:13:53 3416 1

原创 统计学习方法(二)

感知机 感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机预测是用学习得到的感知机模型对新的输入实例进行分类,是神经网络与支持向量机的基础。感知机模型假设输入空间(特征空间)是 X⊆Rn\boldsymbol X \subseteq R^n,输出空间是Y={+1,−1}\boldsymbol Y =\{+1,-1\},输入 x∈X表示实

2017-12-17 12:22:19 253

原创 统计学习方法(-)

结构风险(Structural risk minimization,SRM)是为了防止过拟合而提出来的策略,结构风险最小化等价于正则化(regularization)。在经验风险上加上表示模型复杂度的正则化项(regularizer)或罚项(penalty term)。在假设空间、损失函数以及训练集确定的情况下,结构风险的定义是 Rsrm(f)=1N∑i=1NL(yi,f(xi))+λJ(

2017-12-16 23:50:46 342

原创 Java中HashMap

HashMap可以接收null键值,而HashTable不能。HashMap存储的是键值对HashMap是基于hash的原理的,我们使用put(key,value)存储对象到HashMap中,使用get(key)从HashMap中获取对象。当我们给put()方法传递键值对时候,我们先对键调用hashCode()方法,返回的hashCode用于找到bucket位置来存储Entry对象。HashM

2017-12-13 15:09:23 217

原创 Spark操作数据库

val conf=new SparkConf().setAppName("JdbcRDDDemo").setMaster("local[2]")val sc=new SparkContext(conf)def getConnection()={ Class.forName('com.mysql.jdbc.Driver').newInstance() DriverManager.g

2017-12-12 21:39:32 330

原创 (二)模型评估与选择

错误率:m个样本中有a个分类错误,则错误率E=a/m;精度1-a/m;误差实际预测输出与样本真实输出之间的差异称为误差,学习器在训练集上的误差称为‘训练误差’或者‘经验误差’,在新样本上的误差称为‘泛化误差’(generalization error)。显然我们希望得到泛化误差小的机器。过拟合与欠拟合过拟合:学习器把训练样本学的太好,很可能把训练样本本身的特点当做了所有潜在样本都具有的一般性

2017-12-12 21:24:39 481

原创 IDEAJ中Scala打包提交Spark集群运行

最简单一个demo //读取hdfs,然后写入hdfspackage com.spark.FirstAppimport org.apache.spark.SparkContextimport org.apache.spark.SparkConfobject WordCountTest { def main(args: Array[String]) { val inputFile =

2017-12-11 22:27:33 1156

原创 Spark中错误

解决方法:在/etc/hosts/中添加 127.0.0.1 localhost

2017-12-11 22:23:50 489

原创 Spark语法

=>:scala中表示匿名函数line=>line.size:表示以=>操作符左边的部分作为输入,对其执行一个函数,并以=>操作符合右边代码执行结果为输出。此处表示以line为输入,line.size执行结果作为输出。 string=>int:将string对象映射为int。count:返回RDD中记录数目RDD缓存策略Spark最强大的功能之一就是把数据缓存在集群的内存中。Saprk广播变量和累

2017-12-11 00:07:53 1509

原创 Spark编译安装

1.下载并安装maven 2.安装protubuf(需要解决依赖yum install -y gcc gcc-c++ make) 3.解压安装protobuf tar zxvf protubuf-2.5.0.tar.gz -C /usr/local/src/ cd /usr/local/src/protobuf-2.5.0 ./configure –prefix=/usr/local/pr

2017-12-10 22:09:52 325

原创 Spark基础

Driver与WorkerDriver与Worker是两个重要角色。Driver程序是应用逻辑执行的起点,负责作业的调度,即Task任务的分发,而多个Worker用来管理计算节点和创建Executor并行处理任务。在执行阶段,Driver会将Task和Task所依赖的file和jar序列化后传递给对方的worker机器,同时Executor将对应数据分区的任务进行处理。Block-Manager管理

2017-12-10 17:55:50 273

原创 Spark中算子

Value型Transformation算子处理数据类型为Value型的Transformation算子可以根据RDD变换算子的输入分区与输出分区关系分为以下几种类型1.输入分区与输出分区一对一型2.输入分区与输出分区多对一型3.输入分区与输出分区多对多4.输出分区为输入分区子集型5.还有一种特殊的输入与输出分区一对一的算子类型:Cache型,对RDD分区进行缓存。1.输入分区与输出分区

2017-12-10 17:16:10 359

原创 spark算子运算

使用spark-shell进入scala命令行中 ./bin/spark-shell – master spark://centos701:7077 这样才能拿到sc对象。运行sc.textFile(“hdfs://centos701:9000/wc”).flatMap(.split(” “)).map((,1)).reduceByKey(+).sortBy(_._2,false).collec

2017-12-10 13:46:04 561

原创 Spark

Spark目标是为基于工作集的应用(即多个并行操作重用中间结果的应用)提供抽象,同时保持MapReduce及其相关模型的优势特性,即自动容错、位置感知性调度和可伸缩性。每个RDD有5个主要属性 * 一组分片(Partition):即数据集的基本组成单位。对于RDD来说,每个分片都会被一个计算任务处理,并决定并行计算的粒度。 * 一个计算每个分区的函数。每个RDD都会实现compute函数以达到这

2017-12-10 11:00:46 287

原创 Tuple接口

Tuple是Storm中主要数据结构,在Storm发送接收消息过程中,每一条消息都是一个Tuple对象。Storm提供了Tuple的默认实现类TupleImpl。它除了实现Tuple接口外,还实现了Clojure定义的几个接口Seqable、Indexed和IMeta,实现这些接口的目的是为了在Clojure代码中能更好操纵Tuple对象。ack-fail机制: * 1.需要ackfail时候,请

2017-12-09 10:10:08 579

原创 Bolt概述

Bolt是一个组件,以元组作为输入,以生成元组作为输出。当编写Bolt的时候,通常会实现IRichBolt接口。在客户端主机中创建Bolt,序列化到拓扑,并提交到集群中的主控节点。集群启动Worker,反序列化Bolt,准备调用它,然后开始处理元组。prepare():仅在bolt开始处理Tuple之前调用。 execute():处理一个Tuple的输入。继承BaseRichBolt的Bolt类,

2017-12-08 16:31:47 1140

原创 Jps中出现process information unavailable

jps 报process information unavailable解决办法:cd /tmpll删除hsperfdata_{用户名}目录

2017-12-08 10:35:23 788

原创 Storm中拓扑

TopologyBuilder是构建拓扑的类,用于指定执行的拓扑。创建提交拓扑new关键字创建一个TopologyBuilder对象,然后调用setSpout方法设置Spout,接着调用setBolt方法设置Bolt,最后调用createTopology方法返回StormTopology对象给submitTopology方法作为输入参数。//创建TopologyBuilder对象Topolog

2017-12-08 10:13:37 624

原创 Storm基本概念

Spout是计算流的来源。通常在系统中spout从Kestrel、RabbitMQ和kafka等消息队列读取,但是spout还可以生成自己的流或者从某个API读取。 Bolt处理任意数量的输入流,并且产生任意数量的新的输出流。大多数的逻辑计算进入bolt,如功能、过滤、流连接与数据库交互等。 Topology是一个由很多Spout和Bolt构成的网络,网络上每条边代表了一个Bolt订阅的数据流,

2017-12-06 18:14:48 354

原创 Hadoop中WordCount

map()/*** * KEYIN:默认情况下,是mr框架所读到的一行文本的起始偏移量,Long,hadoop中有自己的更精简的序列化接口,不用Long,而用LongWritable * VALUEIN:默认情况下,是mr框架所读到的文本内容, String Text * KEYOUT:用户自定义逻辑处理完成之后输出数据中的key,单词 String * VALUEOUT:用户自定

2017-12-06 10:10:46 354

原创 Hadoop中的Java api

从Hadoop文件系统中读取文件1.通过java.net.URL对象打开数据流,读取数据InputStream in=null;try{ in=new URL('hdfs://host/path').openStream();}finally{ IOUtils.closeStream(in);}2.通过FileSystem API读取数据FileSystem是一个普通的文件系统

2017-12-05 22:35:27 628

原创 storm配置文件

storm.zookeeper.servers:- "centos701"- "centos702"storm.local.dir:”/data/storm”storm的numbus和worker进程需要一个目录来存放一小部分状态数据,如jars、confs等等。我们需要在每台机器上创建这个目录并且赋予响应权限。numbus.host:”centos701”worker节点需要知道哪个机器

2017-12-05 17:19:34 786

learn apache kafka (高清英文版)

高清带书签,新版,原版书籍。大数据时代,无论编程语言开发,还是大数据,都需要学习。

2018-05-23

空空如也

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

TA关注的人

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