- 博客(58)
- 资源 (1)
- 收藏
- 关注
原创 Spring集成Web开发
ContextLoaderListener监听器应用上下文对象是通过new ClasspathXmlApplicationContext(spring配置文件)方式获取的,但是每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(spring配置文件) ,这样的弊端是配置文件加载多次,应用上下文对象创建多次。在Web项目中,可以使用ServletContextListener监听Web应用的启动, 我们可以在Web应用启动时,就加载Spring的
2021-10-20 12:16:06
205
原创 python爬虫
爬虫入门反爬机制 - 图片冷加载 - 只有当图片被显示在浏览器可视化范围内,才会将img的伪属性变成真正的属性。如果是requests发送请求,requests请求是没有可视化范围的,因此我们一定要解析的是img伪属性的属性值(图片地址) - Robots - User-Agent - 动态数据加载 - cookie - 方式一:手动处理 - 将抓包工具中的cookie粘贴到headers中 - 弊端:cookie如果过了有效时长则该方式失败. - 方式二:自动处理
2021-07-08 11:57:29
390
原创 redis操作
增加命令格式作用saddsadd name data向一个集合中添加数,name是集合名字,data是数据lpushlpush name data向一个集合中添加数,name是集合名字,data是字典数据查询命令格式作用keyskeys *查询redis数据库中所有的集合lpushlpush name data向一个集合中添加数,name是集合名字,data是字典数据删除命令格式作用saddsa
2021-07-08 11:38:18
106
原创 hbase操作
创建create ‘s_behavior’,{NAME=‘pc’},{NAME=‘ph’}查看表desc(describe)describe ‘s_behavior’修改表添加数据put ‘s_behavior’, ‘12345_01’, ‘pc:v’, ‘1001’put ‘s_behavior’, ‘12345_01’, ‘ph:o’, ‘1002’put ‘s_behavior’, ‘12345_02’, ‘pc:v’, ‘2001’put ‘s_behavior’, ‘12345_
2020-12-14 15:41:04
275
原创 hive操作
数据库的操作创建数据库并设置存储路径create database testdb2location ‘/user/mydb’;建库的同时,添加注释create database testdb2comment ‘This is test database’;查看数据库describe database testdb2;创建带键值对的数据库create database testdb4with dbproperties(‘creator’=‘zenggang’, ‘date’=‘2020-
2020-12-14 15:40:44
157
1
原创 python UI
使用QT designer安装复制下面代码在cmd输出pip3 install pyqt5 -i https://pypi.douban.com/simplepip3 install pyqt5-tools -i https://pypi.douban.com/simple测试在 你的python安装目录\Lib\site-packages\qt5_applications\Qt\bin 里面找到 designer.exe双击打开测试,确认是否能正常打开如果出现这种情况添加环境变量变
2020-11-23 09:49:56
1248
原创 Hive JDBC连接
Hive JDBC连接实验目的1.掌握Hive JDBC连接方法实验原理Hive是大数据技术簇中进行数据仓库应用的基础组件,是其它类似数据仓库应用的对比基准。基础的数据操作我们可以通过脚本方式以Hive-client进行处理。若需要开发应用程序,则需要使用Hive的JDBC驱动进行连接。Hive JDBC驱动连接分为两种,早期的是HiveServer,最新的是HiveServer2,前者本身存在很多的问题,如安全性、并发性等,后者很好的解决了诸如安全性和并发性等问题。实验环境Linux Ubu
2020-11-02 09:58:52
1187
原创 HBase JAVA API
HBase JAVA API实验目的1.了解HBase语言的基本语法2.了解HBase开发的原理3.了解HBase Java API的使用实验原理HBase与Hadoop一样,都是用Java编写的,所以HBase对Java支持是必须的,HBase Java API核心类介绍如下:1.HBaseConfiguration类HBaseConfiguration是每一个HBase Client都会使用到的对象,它代表HBase配置信息,有两种构造方式:①public HBaseConfigura
2020-10-13 21:25:12
4033
原创 MongoDB shell操作
MongoDB shell操作实验目的1.了解MongoDB的shell操作语法2.掌握MongoDB中对数据增删改查的命令实验原理MongoDB shell是一个可执行文件,是MongoDB自带的一个交互式JavaScript shell,位于MongoDB安装路径下的/bin文件夹中。要启动MongoDB shell,可执行命令mongo。这将在控制台提示符中启动该shell,MongoDB shell提供了多个命令,下面列出了多个MongoDB shell命令及其用途。实验环境Linu
2020-10-13 20:10:13
1357
原创 MongoDB 配置用户的访问控制
MongoDB 配置用户的访问控制大中小实验目的1.练习为MongoDB数据库设置用户2.了解MongoDB数据库用户权限实验原理理解admin数据库:安装MongoDB时,会自动创建admin数据库,这是一个特殊数据库,提供了普通数据库没有的功能,例如,有些账户角色赋予用户操作多个数据库的权限,而这些角色只能在admin数据库中创建。检查凭证时,MongoDB将在指定数据库和admin数据库中检查用户账户。创建用户账户数据库管理的一个重要部分是创建能够管理用户和数据库以及读写数据库的用户账
2020-10-12 08:27:42
850
原创 Sqoop增量数据导入
Sqoop增量数据导入大中小实验目的1.掌握Sqoop的时间增量抽取2.掌握Sqoop的字段增量抽取实验原理Sqoop在import时,需要制定split-by参数。Sqoop根据不同的split-by参数值来进行切分,然后将切分出来的区域分配到不同Map中。每个Map中再处理数据库中获取的一行一行的值,写入到HDFS中。同时split-by根据不同的参数类型有不同的切分方法,如比较简单的int型,Sqoop会取最大和最小split-by字段值,然后根据传入的Map数(num-mappers)来
2020-09-08 07:19:40
943
原创 Python Mysql
#Python Mysql实验目的掌握Python Mysql的增删改查等操作知识点介绍什么是 PyMySQL?PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。实验环境Linux Ubuntu 16.04Python 3.6IpythonPyCharm实验内容本实验共包含PyMy
2020-09-05 12:41:20
238
原创 HBase的安装
单机模式安装解压文件到/opt,并重命名sudo tar -zxvf hbase-2.2.5-bin.tar.gz /opt/sudo mv /opt/hbase-2.2.5-bin.tar /hbase修改环境变量和刷新环境变量sudo vi /etc/profile# 加上下面数据export HBASE_HOME=/opt/hbaseexport path=$HBASE_HOME/bin:$path# 修改完成后wq退出source /etc/profile编辑..
2020-09-02 06:07:09
94
原创 matplotlib数据可视化
matplotlibipython的境况下,使用%matplotlib只要不使用plot.show()和plot.savefig()方法就不会结束画布,一旦使用就视为结束当前绘画。对画布的操作创建一张画布figure()方法plot.figure( ['num=None', 'figsize=None', 'dpi=None', 'facecolor=None', 'edg...
2020-04-09 19:15:19
256
原创 pandas
SeriesDataframe添加列df = pd.read_sql('meal_order_detail1',con=engine,columns=['order_id','counts', 'amounts','cost', 'discount_amt'])df['new1'] = 1df['new2'] = 2删除列# 不加inplace就不是在源视图上修改,会返回一个新的已...
2020-04-03 10:05:47
97
原创 pandas的数据分析
读取不同数据源的数据一、准备1、安装第三方包1)pymysql 、sqlalchemy2)xlrd 、openpyxl,xlwt3)requests2、数据准备1)创建一个数据库 meal2)导入数据文件meal_order_detail1.sqlDataFrame补充df.options.display.max_columns =size | 在数据列有很多的时候,此方法可以...
2020-04-01 10:02:14
619
1
原创 Jquery基础
层级选择器$(“div span”) 匹配所有后代元素$(“div>span”) 匹配所有直接子元素$(“prev+next”) 匹配所有紧接在prev元素后的next元素$(“prev ~ siblings”) 匹配所有prev元素的所有同辈siblings元素选择器对象相关方法. $(“选择器”).each(function(index){this})选择器对象的遍历$(t...
2019-12-23 17:56:53
266
原创 MongoDB 简介及安装
实验原理MongoDB是10gen公司开发的一款以高性能和可扩展性为特征的开源软件。它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它是一个面向集合的,模式自由的文档型数据库。所谓“面...
2019-12-19 21:44:42
263
原创 Kafka安装及测试
实验原理Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它因可以水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下:以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时...
2019-12-19 21:44:37
385
原创 Flume安装部署
实验原理Flume是Cloudera公司的一款高性能、高可用的分布式日志收集系统。Flume的核心是把数据从数据源收集过来再送到目的地。为了保证输送一定成功,在送到目的地之前,会先缓存数据,待数据真正到达目的地后,再删除缓存的数据。Flume传输数据的基本单位是event,如果是文本文件,通常是一行记录,这也是事务的基本单位。Flume运行的核心是Agent。它是一个完整的数据收集工具,含...
2019-12-19 21:44:23
141
原创 Redis的安装部署与简单使用
实验原理Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端。实验步骤1.源代码方式。首先新建一个安装目录并授权:sudo mkdir -p /apps/redis sudo chown zha...
2019-12-19 21:44:19
150
原创 Pig安装
实验原理Apache Pig 是一个高级过程语言,适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似 SQL 的查询,Pig 可以简化 Hadoop 的使用。用MapReduce进行数据分析。当业务比较复杂的时候,使用MapReduce将会是一个很复杂的事情,比如你需要对数据进行很多预处理或转换,以便能够适应MapReduce的处理模...
2019-12-19 21:43:59
287
原创 Spark Standalone伪分布模式安装
实验目的1.熟练掌握Spark Standalone伪分布模式的安装流程2.准确理解Spark Standalone伪分布模式的运行原理3.学会独立进行SparkStandalone伪分布模式安装实验原理Local cluster伪分布式模式,实际是在SparkContext初始化的过程中,在本地启动一个所有服务都在单机上运行的伪分布Spark集群,所以从部署的角度来说无须做任何准备工作...
2019-12-19 21:43:50
1420
原创 Spark Standalone安装
伪分布式安装实现原理Local cluster伪分布式模式,实际是在SparkContext初始化的过程中,在本地启动一个所有服务都在单机上运行的伪分布Spark集群,所以从部署的角度来说无须做任何准备工作。以SparkPi为例,伪分布式模式下的应用程序的启动命令的示例如下:./bin/run-example org.apache.spark.examples.SparkPi local-c...
2019-12-06 11:51:12
192
原创 Sqoop的安装
sqoop的实验原理Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(Mysql、Oracle…)间进行数据的传递,可以将一个关系型数据库中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库中。Sqoop可以在HDFS/Hive和关系型数据库之间进行数据的导入导出,其中主要使用了Import和Export这两个工具。Sqoop imp...
2019-12-06 11:27:53
128
原创 ZooKeeper安装
实验目的1.了解ZooKeeper的安装部署2.了解ZooKeeper的工作原理实验原理ZooKeeper是一个开源的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态,根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口、性能高效和功能稳定的系统提供给用户。ZooKeeper的核心是原子广播,这个机制保证了各个Se...
2019-12-06 11:05:05
627
原创 搭建Maven
第一步,下载Maven下载地址第二步,解压并配置环境变量这一步跟Java安装类似解压到指定路径,不建议放在C盘。在这,我放到了F:\study\kits\apache-maven-3.6.3记住这个路径,后面配置环境变量时要用!新建一个文件夹,名字随意,用于放Maven下载的依赖,我用的是warehouse打开系统环境变量新建变量Maven_HOME,值就为你上面所复制的路...
2019-12-03 08:23:05
88
原创 初学mybatis
什么是框架?它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高开发效率。三层架构表现层: 是用于展示数据的业务层: 是处理业务需求持久层: 是和数据库交互的持久层技术解决方案JDBC技术: Connection PreparedStatement ResultSet...
2019-12-01 22:18:11
86
原创 JS基础
主流浏览器浏览器组成浏览器分为两部分:外壳(shell)和内核shell部分内核部分渲染引擎(语法规则和渲染)js引擎其他模块要想成为主流浏览器,必须需要有3%的市场占有率和独自研发的内核主流浏览器内核IEtridentChromewebkit/blinkfirefoxGeckooperaprestoSafari...
2019-11-30 22:12:58
92
原创 JAVA基础
final关键字final最终的,不可改变的。1.final可以用来修饰一个类: A.public final class 类名称 {//...} 含义:不能有任何子类,但有父类(太监类); 如果一个类是final的,那么其中所有的成员方法都不可以进行覆盖重写;2.final可以用来修饰一个方法; A.修饰符 final 返回值类型 方法名称(){//...} 含义:此方法为最终方...
2019-11-29 11:01:06
174
原创 动态代理
设计模式软件开发过程中,遇到相识的问题,将问题的解决方法抽取模型(套路)单例,工厂,装饰者,适配器,动态代理单例模式public class Stu {private Stu() {}private static Stu stu = new Stu();public static Stu getInstance() { return stu;}}谷歌汽车场景装饰者模...
2019-11-18 17:47:06
164
原创 注解
JDK的注解注解和接口,类都一样,都是属于数据类型,注解可以加在变量,方法,类上面注解可以有属性,也可以没有属性:@Test(timeout=1000),@Override注解有作用范围:源码期间,编译期间,运行期间。源码期间有效:String类上的@Author,@Since,@See作用:使用命令javadoc可以将当前的源码生成帮助文件,可以识别String类上的相关的...
2019-11-18 13:58:36
84
原创 多线程
程序(program)是为了完成特定任务,用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象进程(process)是程序的一次执行过程,或是正在运行的一个程序。动态过程:有它自身的产生,存在和消亡的过程如运行中的qq,mp3播放器程序是静态的,进程是动态的线程(thread)进程可进一步细化为线程,是一个程序内部的一条执行路径。若一个程序可同时执行多个线程,就是...
2019-11-11 10:04:49
74
原创 H5表单
formaction(url地址)method(post||get)name(表单的名字)inputname控件的名称,由用户自定义valueinput控件中的默认文本值size只能取正整数,input控件在页面显示的宽度readonly只能写readonly,该控件内容只可读(不能编辑修改)disabled只能取disabled,第一次加载页面的时候禁用该控件(...
2019-11-10 18:33:46
259
原创 JAVA数据结构和算法
数据结构数据之间相互存在的一种或多种特定的关系的元素的集合逻辑结构集合结构貌似没有重复的东西线性结构1是2的前驱,3是2的后继,1没有前驱,9没有后继存储位置连续,可以很方便地计算出后面数据的位置树形结构图形结构物理结构顺序存储结构链式存储结构还有循环列表线性表的链式存储结构的特点使用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,...
2019-11-04 17:09:34
284
原创 IO流
ASCII码:0:48;A:65;a:97;FileWriter可以将数据写入纯文本当中,没有便创建,一般是覆盖写入,有五个构造方法,导包import java.io.FileWriter;CTRL+SHIFT+O 便捷键导入;创建,构造方法 public FileWriter(String filename)//参数字符串就是文件的路径名称 FileWriter fw...
2019-10-31 21:35:34
89
原创 fianl关键字和内部类
final最终的,不可改变的。final可以用来修饰一个类:public final class 类名称 {//…}含义:不能有任何子类,但有父类(太监类); 如果一个类是final的,那么其中所有的成员方法都不可以进行覆盖重写;final可以用来修饰一个方法;修饰符 final 返回值类型 方法名称(){//…}含义:此方法为最终方法,不能进行覆盖重写;对于类...
2019-10-31 21:22:49
86
原创 递归
阶乘public class Factorial { public static void main(String[] args) { System.out.print("请输入你想要计算的数字:"); Scanner sc = new Scanner(System.in); int num = sc.nextInt(); long result = factorial(nu...
2019-10-28 17:20:31
99
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人