- 博客(56)
- 资源 (4)
- 收藏
- 关注
原创 scrapy爬虫的一个实例
一:建立一个Scrapy爬虫工程打开cmd:输人scrapy startproject python123,如下截图:这里输入的意思是定义一个工程,它的名字叫python123.![在这里插入图片描述](https://img-blog.csdnimg.cn/20191030195446206.png此时在d盘中可以看到生成的scrapy的工程介绍上述文件的作用:scrapy.cfg...
2019-10-30 20:10:19 528
原创 MySQL的优化及面试,只要这篇就够了
本文概要概述为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢数据是存放在磁盘上的,读写速度无法和内存相比如何优化设计数据库时:数据库表、字段的设计,存储引擎利用好MySQL自身提供的功能,如索引等横向扩展:MySQL集群、负载均衡、读写分离SQL语句的优化(收效甚微)字段设计字段类型的选择...
2019-10-28 18:51:44 1009 1
原创 大数据技术之实时数仓
第1章 环境准备1.1虚拟机准备克隆三台虚拟机(hadoop101、hadoop102、hadoop103),配置好对应主机的网络IP、主机名称、关闭防火墙。设置hadoop102、hadoop103、hadoop104的主机对应内存分别是:4G、4G、4G1.2配置免密登录(1)配置ssh免密登录[root@hadoop101 ~]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4
2020-08-31 17:14:07 614
原创 大数据技术之实时数仓环境准备
大数据技术之实时数仓版本:V1.0第1章 环境准备1.1虚拟机准备克隆三台虚拟机(hadoop101、hadoop102、hadoop103),配置好对应主机的网络IP、主机名称、关闭防火墙。设置hadoop102、hadoop103、hadoop104的主机对应内存分别是:4G、4G、4G1.2配置免密登录(1)配置ssh免密登录[root@hadoop101 ~]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain lo
2020-07-27 08:44:30 435
原创 MapReduce的介绍及wordcount
一、简要逻辑如下二、代码实现Map类package com;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException;public class MyMap extends Mapper
2020-06-12 16:40:09 313
原创 Hadoop之NameNode的工作机制
可以用下面的图来表示1、首先,认识几个名词 (1)、NameNode中读、写、以及DataNode映射等信息叫做“元数据” ,NameNode元数据存放位置有、内存、fsimage、edits log三个位置。(2)、edits log:记录当前最新的元数据。(3)、元数据内存:实际在用的元数据。(4)、fsimage:元数据内存实体文件,fsimage与NameNode内容是是一样的(最全元数据)当edits log文件大小达到阈值,会将edits log元数据写入到fsimage文件
2020-06-11 21:31:23 374
原创 MybatisPlus学习笔记
一、MybatisPlus简介1.1.简介Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。1.2.文档地址https://mp.baomidou.com/guide/1.3.MybatisPlus的特性无侵入:Mybatis-Plus 在 Mybatis 的基础上进行扩展,只做增强不做改变,引入 Mybatis-Plus 不会对您现有的 Mybatis 构架产生任何影响,而且 MP 支持所有 Myba
2020-06-05 20:55:44 885
原创 SVN简介及工作原理
SVN需求需求之一:代码备份:防止特殊情况下代码丢失需求之二:代码还原:能够还原到某个特定的版本需求 之三:协同修改:开发人员之间共同开发一个项目,相互之间互不影响.需求之四:多版本项目文件管理:保存多个项目版本,实现需求二需求之五:追溯问题代码的编写人和编写时间:找到问题代码所在,快速解决问题.需求之六:权限 控制:防止其他人员恶意修改代码SVN简介可选的网络层Subversion 在版本库访问方面有一个抽象概念,利于人们去实现新的网络机 制,Subversion 的“高级”服务器是 A
2020-06-05 20:39:09 1571
原创 HDFS的文件块大小
HDFS中的文件在物理上是分块存储(Block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在Hadoop2.x版本中是128M,老版本中是64M。HDFS中块(block)的大小为什么设置为128M?HDFS中平均寻址时间大概为10ms;经过前人的大量测试发现,寻址时间为传输时间的1%时,为最佳状态;所以最佳传输时间为10ms/0.01=1000ms=1s目前磁盘的传输速率普遍为100MB/s;计算出最佳block大小:100MB/s x 1s = 1
2020-05-23 09:23:55 3507 1
原创 hdfs的概念及特点
hdfs的概念HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算存储提供了底层支持。采用Java语言开发,可以部署在多种普通的廉价机器上,以集群处理数量积达到大型主机处理性能。HDFS 架构原理HDFS采用master/slave架构。一个HDFS集群包含一个单独的NameNode和多个DataNode。Namenode管理文件系统的元数据,而Datanode存储了实际的数据。NameNode作为master服务,它负责管理文件系统的
2020-05-22 20:17:27 2219 1
原创 大数据技术生态体系
大数据技术生态体系结构如下:图中涉及的技术名词解释如下:1)Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySql)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。2)Flume:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,
2020-05-15 09:56:16 753
原创 大数据的概念及特点
概念大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。特点Volume(大量)Velocity(高速)Variety(多样)Value(低价值密度)价值密度的高低与数据总量的大小成反比。如何快速对价值数据提纯成为大数据背景下待解决的问题。Veracity(真实性)数据的单位计算换算最小的基本单位是bit,按顺序给出所有单位:bit、Byte、KB、MB、GB、TB
2020-05-14 11:06:40 5653
原创 两数和
问题描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]我的解决方法:import java.util.Arrays;class Test01 { public int[]
2020-05-13 11:52:24 194
原创 Springboot中的定时任务
1、在启动类上加入@EnableScheduling注解@EnableScheduling@SpringBootApplicationpublic class TaskApplication { public static void main(String[] args) { SpringApplication.run(TaskApplication.class, args); }...
2019-12-19 14:05:35 220
原创 Elasticsearch的介绍
Elasticsearch 是一个实时的分布式搜索分析引擎,解决问题:1、自动维护数据的分布到多个节点的索引的建立,还有搜索请求分布到多个节点的执行2、自动维护数据的冗余副本,保证了一旦机器宕机,不会丢失数据3、封装了更多高级的功能,例如聚合分析的功能,基于地理位置的搜索功能分布式的搜索引擎和数据分析引擎搜索:网站的站内搜索,IT系统的检索数据分析:电商网站,统计销售排名前10的...
2019-12-19 14:04:26 166
原创 ElasticSearch在Springboot中的两种实现方式
1、jest使用Maven依赖 <dependency> <groupId>io.searchbox</groupId> <artifactId>jest</artifactId> <version>5.3.3</version> </dependency>测试使用注解...
2019-12-19 14:03:42 242
原创 Springboot的邮件服务
1、导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>2、application.properties...
2019-12-19 14:03:07 249
原创 SpringSecurity的使用
编写配置文件,继承WebSecurityConfigurerAdapter 接口,具体的使用参考https://docs.spring.io/spring-security/site/docs/current/guides/html5/helloworld-boot.html权限的授予与用户的认证规则@EnableWebSecuritypublic class MySecurityConf...
2019-12-19 14:02:21 165
原创 Springboot的开发热部署
在开发中我们修改了一个java文件想看到效果又不得不重新启动应用,这到导致大量时间的花费,我们希望不重启应用的情况下,程序可以自动部署(热部署),这里推荐使用spring boot devtools。spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。原理是在发现代码有更改之后,重新启动应用,但是比速度比手动停止后再启...
2019-12-19 14:01:47 149
原创 SpringData(一)
Spring Data :Spring 的一个子项目。用于简化数据库访问,支持NoSQL 和 关系数据存储。其主要目标是使数据库的访问变得方便快捷。SpringData 项目所支持 NoSQL 存储:MongoDB (文档数据库)Neo4j(图形数据库)Redis(键/值存储)Hbase(列族数据库)SpringData 项目所支持的关系数据存储技术:JDBCJPAJPA ...
2019-12-17 10:17:06 213
原创 java连接redis不成功的问题
主要注意1)ip和端口号不正确2)虚拟机中防火墙的原因(可能性较大)3)redis.conf 中bind 127.0.0.1 未用#注释掉4)未取消保护模式在第一和第二种情况都正确的情况下仍然连接不了,则修改redis.conf文件1)打开配置文件把下面对应的注释掉# bind 127.0.0.1 2)Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用y...
2019-12-17 10:16:09 2949
原创 Redis的五种数据类型
五种数据类型第一种类型:String Key-Valueset key value 设置一个key 值为 valueget key 获得key值得valueincr key —对应的value 自增1,如果没有这个key值 自动给你创建创建 并赋值为1decr key —对应的value 自减1第二种类型:Hash:key-filed-value相当于一个Key...
2019-12-17 10:15:28 224
原创 Redis的持久化
Redis提供了两个不同形式的持久化方式1、RDB(redis of Database)在指定的时间间隔内将内存的数据集快照(状态)写入磁盘,恢复是将快照文件直接读到内存里。RDB的方式要AOF更加高效。优点:节省磁盘空间恢复速度快缺点:虽然在fork是使用了写时拷贝技术,但是如果数据庞大时还是比较消耗性能。最后一次持久化后的数据可能丢失。2、AOF(Append of ...
2019-12-17 10:14:55 135
原创 Redis的主从复制
Master以写为主,Slave以读为主用处:读写分离,性能扩展容灾快速恢复步骤语法:打印主从复制的相关信息:info replication成为某个实例的从服务器:slaveof <ip> <port>...
2019-12-17 10:14:10 122
原创 Redis的哨兵模式(sentinel)
首先了解什么是反客为主:就是如果主机宕掉了,从机替代主机的位置。slaveof no one反客为主的自动版,能够监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。哨兵的配置1、配置一主二仆2、在redis目录下新建sentinel.conf文件3、在配置文件中填写内容:sentinel monitor mymaster 127.0.0.1 6379 1其中myma...
2019-12-17 10:12:44 167
原创 RabbitMQ的核心概念与联系
核心概念:Message:消息Publisher:消息的生产者Exchange:交换机bindings:绑定,交换机和队列的绑定queue:消息队列,用来抱歉村消息发送给消费者broker:服务器Virtual Host:虚拟主机channel:信道connection:网络连接...
2019-12-17 10:10:25 203
原创 Rabbitmq的几种交换机模式
1、Direct Exchange(点对点)处理路由键。需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。如果一个队列绑定到该交换机上要求路由键 “dog”,则只有被标记为“dog”的消息才被转发,不会转发dog.puppy,也不会转发dog.guard,只会转发dog。2、Fanout Exchange(广播)不处理路由键。只需要简单的将队列绑定到交换...
2019-12-17 10:08:46 484
原创 使用docker安装RabbitMQ
1、拉取docker pull rabbitmq:3.7.7-management2、运行docker run -d -p 5672:5672 -p 15672:15672 --name myRabbitmq eca20a565219其中5672为主机的5672映射到docker容器的5672,15672为管理界面到web页面的端口在客户端访问主机:15672,登录账号和密码默...
2019-12-17 10:07:15 211
原创 逻辑回归
逻辑回归算法是目前最流行使用最广泛的一种学习算法。从二元的分类问题开始讨论。 我们将因变量(dependent variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则因变量 1,其中 0 表示负向类,1 表示正向类。 但如果是线性回归的话,那他的假设值就可能小于0或者大于1,为了使它的输出值永远这0-1之间,我们需要采用逻辑回...
2019-11-08 09:18:29 201
原创 特征和多项式回归
线性回归并不适用于所有数据,有时我们需要曲线来适应我们的数据,比如一个二次方模型:ℎ????(????) = ????0 + ????1????1+ ????2????2 ^2 或者三次方模型:ℎ????(????) = ????0 + ????1????1 + ????2????2 ^2+ ????3????3 ^3。如房价问题:ℎ????(????) = ????0 + ????1 × ???????????????????????????????? + ????2 × ??????????????
2019-11-06 20:58:53 684
原创 梯度下降法实践(特征缩放与学习率)
一:特征缩放*为什么要特征缩放?*在我们面对多维特征问题的时候,我们要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛,减少梯度下降的循环次数。以房价问题为例,假设我们使用两个特征,房屋的尺寸和房间的数量,尺寸的值为 0-2000 平方英尺,而房间数量的值则是 0-5,以两个参数分别为横纵坐标,绘制代价函数的等高线图能,看出图像会显得很扁,如下图所示,而且梯度下降算法需要非常多次的...
2019-11-06 20:26:04 407
原创 多变量线性回归(多元线性回归)及 多变量梯度下降
支持多变量的假设 ℎ 表示为:ℎ????(????) = ????0 + ????1????1 + ????2????2+…+????????????????这个公式中有???? + 1个参数和????个变量,为了使得公式能够简化一些,引入????0 = 1,则公式转化为:ℎ????(????) = ????0????0 + ????1????1 + ????2????2+…+???????????????? 此时模型中的参数是一个???? + 1维的向量,任何一个训练实例也都是???? + 1维的向量,
2019-11-06 19:28:51 551
原创 梯度下降的线性回归(批量梯度下降算法)
梯度下降算法和线性回归算法(线性假设和平方差成本函数)比较如图:对我们之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即:则算法(批量梯度下降算法)改写成:...
2019-11-06 17:31:22 556
原创 梯度下降
定义: 梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数????(????0,????1) 的最小值。梯度下降的抽象例子: 想象一下你正站立在山的这一点上,站立在你想象的公园这座红色山上,在梯度下降算法中,我们要做的就是旋转 360 度,看看我们的周围,并问自己要在某个方向上,用小碎步尽快下山。这些小碎步需要朝什么方向?如果我们站在山坡上的这一点,你看一下周围,你会发现最佳的下山方向,你...
2019-11-06 16:48:41 223
原创 代价函数
在线性回归中我们有一个像这样的训练集,????代表了训练样本的数量,比如 ???? = 47。而我们的假设函数,也就是用来进行预测的函数,是这样的线性函数形式: ℎ????(????) = ????0 + ????1????。我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error)。 我们的目标便是选择出可以使得建模...
2019-11-06 15:15:35 255
原创 监督学习与非监督学习
监督学习:就是我们给学习算法一个数据集。这个数据集由“正确答案”组成。例子1:收集了一些房价的数据,用二位坐标系将它进行表示,横轴表示房子的面积,单位是平方英尺,纵轴表示房价,单位是千美元。那基于这组数据,假如你有一个朋友,他有一套 750 平方英尺房子,现在他希望把房子卖掉,他想知道这房子能卖多少钱。在上述的例子中,我们给了一系列房子的数据,我们给定数据集中每个样本的正确价格,即它们实际的售...
2019-11-06 15:01:56 610
原创 git前进后退版本的方式及使用
查看版本基于索引的操作输入命令:git reset --hard [局部索引值]使用^符号,只能后退输入命令:git reset --hard HEAD^一个^表示一步使用~符号,也是只能后退输入命令:git reset --hard HEAD~nn表示后退了几部,相比起来,这种方法比较任性化。举个例子:若将已存在的a.txt删除,我们想回到a.txt状态查看历史:...
2019-10-31 22:22:34 314
原创 Git创建仓库及相关操作
一:创建本地仓库在e盘中的gitworkspace中创建名为WeChat的仓库输入git init可以看见项目的目录结构,但都是隐藏起来的,所以需要输入ls -la命令进行查看二:设置签名:项目/仓库级别的设置分别输入 git config user.name tom_pro git config user.email goodMorning_pro@lhs.com输入ca...
2019-10-31 18:42:21 221
原创 淘宝商品信息的定向爬虫
import requestsimport re'''目标:获取淘宝搜索页面的信息,提取其中的商品名称和价格理解: 淘宝的搜索接口 翻页的处理技术路线:requests‐bs4‐re'''#步骤1:提交商品搜索请求,循环获取页面def get_html_text(url): headers = {'User-Agent': 'Mozilla/5.0 (Windows NT ...
2019-10-29 20:56:44 3491 5
java面试资料(纯干货2).zip
2019-10-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人