- 博客(105)
- 资源 (6)
- 问答 (5)
- 收藏
- 关注
原创 PostgreSQL 介绍与安装
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
2023-06-29 10:45:00
430
2
原创 Hive基本操作-库、表
创建数据库的本质就是在hive的参数${hive.metastore.warehouse.dir}对应的目录下,创建一个新的目录,此目录的名称为: 库名.db。注意:hive使用的是严格的读时模式:加载数据时不检查数据的完整性,读时发现数据不对则使用NULL来代替。数据文件就存在这个目录下。**方法1:**使用hdfs dfs -put将本地文件上传到表目录下。**方法3:**从另外一张表(也可称之为备份表)中动态加载数据。**方法2:**在hive中使用load 命令。**方法4:**克隆表数据。
2023-03-30 16:42:48
485
1
原创 【Linux】常见面试题2023版
cat (concatenate:显示或把多个文本文件连接起来)查看文件命令(可以快捷查看当前文件的内容)(不能快速定位到最后一页)ll (ll:list的缩写,查看列表详情)查看当前目录下的所有详细信息和文件夹(ll 结果是详细,有时间,是否可读写等信息)ls (ls:list的缩写,查看列表)查看当前目录下的所有文件夹(ls 只列出文件名或目录名)more (more:更多的意思)分页查看文件命令(不能快速定位到最后一页)tail(尾巴) 查看文件命令(看最后多少行)
2023-01-11 11:45:00
1075
原创 【20天快速掌握Python】day20-手动搭建HTTP服务器
除了使用浏览器给服务器发送请求以外,我们还可以使用第三方模块requests用代码来给服务器发送器请求,并获取结果。# 方法二: 只能用于get请求# 2.获取请求结果# 2)响应体(数据)# a.获取二进制对应的原数据(数据本身是图片、压缩文件、视频等文件数据)# b.获取字符类型的数据# c.获取json数据(json转换成python对应的数据)
2023-01-01 13:48:23
947
1
原创 【20天快速掌握Python】day19-HTTP协议
当我们编写一个页面时,我们只需要在HTTP请求中把HTML发送出去,不需要考虑如何附带图片、视频等,浏览器如果需要请求图片和视频,它会发送另一个HTTP请求,因此,一个HTTP请求只处理一个资源(此时就可以理解为TCP协议中的短连接,每个链接只获取一个资源,如需要多个就需要建立多个链接)当存在Content-Encoding时,Body数据是被压缩的,最常见的压缩方式是gzip,所以,看到Content-Encoding: gzip时,需要将Body数据先解压缩,才能得到真正的数据。
2022-12-31 11:15:00
464
原创 【20天快速掌握Python】day18-进程
1)如果block使用默认值,且没有设置timeout(单位秒),消息列队如果为空,此时程序将被阻塞(停在读取状态),直到从消息列队读到消息为止,如果设置了timeout,则会等待timeout秒,若还没读取到任何消息,则抛出"Queue.Empty"异常;开启过多的进程并不能提高你的效率,反而会降低你的效率,假设有500个任务,同时开启500个进程,这500个进程除了不能一起执行之外(cpu没有那么多核),操作系统调度这500个进程,让他们平均在4个或8个cpu上执行,这会占用很大的空间。
2022-12-30 11:15:00
853
原创 【20天快速掌握Python】day17-线程
Queue是一个先进先出(First In First Out)的队列,主进程中创建一个Queue对象,并作为参数传入子进程,两者之间通过put( )放入数据,通过get( )取出数据,执行了get( )函数之后队列中的数据会被同时删除,可以使用multiprocessing模块的Queue实现多进程之间的数据传递。如果此时另一个线程试图获得这个锁,该线程就会变为“blocked”状态,称为“阻塞”,直到拥有锁的线程调用锁的release()方法释放锁之后,锁进入“unlocked”状态。
2022-12-29 11:15:00
256
原创 【20天快速掌握Python】day16-多任务
在现实生活中,有很多的场景中的事情是同时进行的,比如跳舞和唱歌是同时进行的。在程序中,可以使用代码来模拟唱歌和跳舞的功能:print("正在唱歌...%d"%i)print("正在跳舞...%d"%i)sing() #唱歌dance() #跳舞很显然刚刚的程序并没有完成唱歌和跳舞同时进行的要求多任务。
2022-12-28 11:15:00
197
原创 【20天快速掌握Python】day15-网络编程
一个udp网络程序,可以不绑定,此时操作系统会随机进行分配一个端口,如果重新运行此程序端口可能会发生变化一个udp网络程序,也可以绑定信息(ip地址,端口号),如果绑定成功,那么操作系统用这个端口号来进行区别收到的网络数据是否是此进程的。
2022-12-27 11:15:00
595
原创 【20天快速掌握Python】day14-正则表达式
正则表达式是一个特殊的字符序列,计算机科学的一个概念。通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用re模块。re 模块使 Python 语言拥有全部的正则表达式功能。1.1 特点:灵活性、逻辑性和功能性非常强;可以迅速地用极简单的方式达到字符串的复杂控制。对于刚接触的人来说,比较晦涩难懂。1.2 Python中的正则表达式与大多数编程语言相同,正则表达式里也使用\
2022-12-26 11:15:00
774
原创 【20天快速掌握Python】day13-序列化反序列化和异常处理
如果每次返回的数据值不是在一个已有的数据集合中读取的,而是通过程序按照一定的规律计算生成的,那么也就意味着可以不用再依赖一个已有的数据集合,也就是说不用再将所有要迭代的数据都一次性缓存下来供后续依次读取,这样可以节省大量的存储(内存)空间。通过上面的分析,我们已经知道,迭代器是用来帮助我们记录每次迭代访问到的位置,当我们对迭代器使用next()函数的时候,迭代器会向我们返回它所记录位置的下一个位置的数据。实际上,在使用next()函数的时候,调用的就是迭代器对象的。迭代器是一个可以记住遍历的位置的对象。
2022-12-25 11:15:00
182
原创 【20天快速掌握Python】day12-文件操作
改良版本的程序是对可能发生异常的代码处进行 try 捕获,使用 try/finally 语句,该语句表示如果在 try 代码块中程序出现了异常,后续代码就不再执行,而直接跳转到 except 代码块。程序在运行过程中,由于我们的编码不规范,或者其他原因一些客观原因,导致我们的程序无法继续运行,此时,程序就会出现异常。比如文件关闭,释放锁,把数据库连接返还给连接池等。设计一套协议,按照某种规则,把内存中的数据转换为字节序列,保存到文件,这就是序列化,反之,从文件的字节序列恢复到内存中,就是反序列化。
2022-12-24 11:15:00
970
原创 【20天快速掌握Python】day11-面向对象进阶
举个常见的单例模式例子,我们日常使用的电脑上都有一个回收站,在整个操作系统中,回收站只能有一个实例,整个系统都使用这个唯一的实例,而且回收站自行提供自己的实例。最好是提供一个父类 Dog,具备 work 的功能,其他小狗继承它,这样只要是小狗类,则行为被统一起来了,我们人类完全可以保证,只要是小狗的子类,找它干活肯定不会有问题。定义:多态是一种使用对象的方式,子类重写父类方法,调用不同子类对象的相同父类方法,可以产生不同的执行结果。父类与子类,主要体现在代码的重用,不需要大量的编写重复代码。
2022-12-23 11:15:00
218
原创 【20天快速掌握Python】day10-面向对象基础
这个模板只规定了飞机的某些特征(例如大小,颜色,型号等等)和行为(例如起飞,降落,飞行等等),它并不是一个具体的飞机,而是对飞机的一个抽象概念。Python 的类里提供的,两个下划线开始,两个下划线结束的方法,就是魔法方法,魔法方法在恰当的时候就会被激活,自动执行。在实际开发中,对象的某些属性或者方法可能只希望在对象的内部别使用,而不希望在外部被访问到,这时就可以定义私有属性和私有方法。,对象属性又称为实例属性,记录对象各自的数据,不同对象的同名实例属性,记录的数据各自独立,互不干扰。
2022-12-22 11:15:00
259
原创 【20天快速掌握Python】day09-模块和包
通过这种方式引入的时候,调用函数时只能给出函数名,不能给出模块名,但是当两个模块中含有相同名称函数的时候,后面一次引入会覆盖前一次引入。也就是说假如模块A中有函数function( ),在模块B中也有函数function( ),如果引入A中的function在先、B中的function在后,那么当调用function函数的时候,是去执行模块B中的function函数。但是,需要注意的是,如果一个py文件要作为一个模块被别的代码使用,这个py文件的名字一定要遵守标识符的命名规则。
2022-12-21 11:15:00
676
原创 【20天快速掌握Python】day07-函数
因为其作用范围只是在自己的函数内部,所以不同的函数可以定义相同名字的局部变量(打个比方,把你、我是当做成函数,把局部变量理解为每个人手里的手机,你可有个iPhone8,我当然也可以有个iPhone8了, 互不相关)在本小节刚开始的时候,说过的“买冰淇淋”的例子中,最后儿子给你冰淇淋时,你一定是从儿子手中接过来 对么,程序也是如此,如果一个函数返回了一个数据,那么想要用这个数据,那么就需要保存。定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它调用函数很简单的,通过。
2022-12-19 11:15:00
245
原创 【20天快速掌握Python】day06-元组、字典、集合
字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国上海'}info = {'name':'配的龙','high':'183cm','weigh':'65kg'}字典的每个元素由2部分组成,键:值。例如 'name':'班长' ,'name'为键,'班长'为值。添加之后的字典为:{'name': '班长', 'id': 100}
2022-12-18 11:15:00
456
原创 【20天快速掌握Python】day05-列表
它们的使用和字符串里的使用效果一致。sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。while 循环是一种基本的遍历列表数据的方式,但是最常用也是最简单的方式是使用 for 循环。in的方法只要会用了,那么not in也是同样的用法,只不过not in判断的是不存在。我们是通过指定下标来访问列表元素,因此修改元素的时候,为指定的列表下标赋值即可。一个列表中的元素又是一个列表,那么这就是列表的嵌套。类似while循环的嵌套,列表也是支持嵌套的。
2022-12-17 12:35:18
585
原创 【20天快速掌握Python】day04-字符串
字符串可以理解为一段普通的文本内容,在python里,使用引号来表示一个字符串,不同的引号表示的效果会有区别。
2022-12-15 10:46:50
512
原创 【20天快速掌握Python】day03-流程控制语句
while语句,会先执行一次判断条件,如果条件成立,会执行一次代码块,代码块执行完成以后,会再次判断条件语句,如果还成立,将会再执行代码语句... 直到最后条件不成立。除了while循环以外,for可以完成循环的功能。在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。elif必须和if一起使用,否则出错 else 一般用在最后,即所有条件都不满足时使用。break和continue都用在循环语句里,用来控制循环。1.3 if...elif...else语句的使用。
2022-12-14 22:04:40
337
原创 【20天快速掌握Python】day02-数据类型转换及运算符
并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。,数字0,空字典{},空列表[],空元组(),和空数据None会被转换成为False,其他的都会被转换成为True。当多种运算符做混合运算时,就会涉及到先运算哪个,后运算哪个问题。如果是两个字符串进行比较,会将每个字符串的首字符都转换成对应的编码,然后逐一进行对比。注意:赋值运算符是从右往左运算,将等号右边的值赋值给等号左边,所以,如果是两个字符串做加法运算,会直接把这两个字符串拼接成一个字符串。如果是数字和字符串做加法运算,会直接报错。
2022-12-13 10:30:33
315
原创 【20天快速掌握Python】day01-Python入门
当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!
2022-12-12 18:00:51
586
原创 Oracle自治事务示例演示
通俗的讲,自治事务可以将程序块中(Procedure、Function、Package)的事务进行单独提交,而不会影响主事务(DML);事务提交和回滚时不会影响到主事务中的操作。自治事务(Pragma autonomous_transaction):是PL/SQL块中的一个单独事务,与调用或触发自己的事务之间互不干扰,自己。若先执行主事务后,再执行存储过程,Oracle默认DDL操作会隐式提交主事务。如上所示,我在存储过程中添加了自治事务,且程序块中没有其他任何操作,只有回滚事务的操作。
2022-11-27 19:00:00
1104
原创 一篇文章让你入门【MySQL】
1.1 数据库相关概念名称全称简称数据库存储数据的仓库,数据是有组织的进行存储数据库管理工具操纵和管理数据库的大型软件SQL操作关系型数据库的编程语言,定义了一套操作 关系型数据库统一标准1.2 与其他数据库相比名称区别Oracle大型的收费数据库,Oracle公司产品,价格昂贵MySQL开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。目前Oracle推出了收费版本的MySQL,也提供了免费的社区版本。SQL Server。
2022-09-29 09:45:00
566
原创 【Flume-04】选择器的使用
Flume中的Channel选择器作用于source阶段 ,是决定Source接受的特定事件写入到哪个Channel的组件,他们告诉Channel处理器,然后由其将事件写入到Channel。
2022-09-28 09:45:00
205
原创 【Flume-03】中的拦截器
拦截器为正则表达式拦截器, 数据源为Syslogtcp格式,传送通道为MemChannel,最后传送的目的地是HDFS。通过时间拦截器,数据源为SyslogTcp,传送的通道模式是FileChannel,最后输出的目的地为HDFS。回到第一个窗口发现,并没有采集到,那是因为我流入的数据并不符合我配置方案中的正则表达式。如果一个拦截器需要删除事件,它只需要在返回的事件集中不包含要删除的事件即可。拦截器采用了责任链模式,多个拦截器可以按指定顺序拦截。一个拦截器返回的事件列表被传递给链中的下一个拦截器。
2022-09-27 08:55:46
1370
原创 【Oracle】基础知识面试题
1)Truncate 是DDL 语句,DELETE 是DML语句。2)Truncate 的速度远快于DELETE;原因是:当执行DELETE操作时所有表数据先被COPY到回滚表空间,数据量不同花费时间长短不一。而TRUNCATE 是直接删除数据不进回滚表空间。3)delete 数据可以运行Rollback 进行数据回滚。而Truncate 则是永久删除不能回滚。4) Truncate 操作不会触发表上的delete触发器,而delete 会正常触发。5) Truncate 语句不能带where 条
2022-06-27 10:26:38
5198
原创 【Oracle 数据库】奶妈式教程day15 DDL、DML、索引、视图、序列、死锁这一篇就够了
DDL、DML、索引、视图、序列、死锁这一篇就够了
2022-06-21 09:00:00
567
3
Oracle 如何把utc的微秒数转为日期格式
2023-05-31
Linux能否同时启动jar包和war包?
2021-05-17
Linux如何做到后台运行?在我关闭虚拟机后要依然能够运行
2021-05-07
问:现数据库只有一张表,如何做到下来框三级联动?
2021-04-13
HTML 图片缩放 点击图片放大后 页面的两个input框显示出来了?????
2021-04-12
SpringBooot 如何获取List集合中指定的值?
2021-04-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人