自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

涤生手记

凡人做一事,便须全副精神注在此一事,首尾不懈,不可见异思迁,做这样,想那样,坐这山,望那山。人而无恒,终身一无所成...

原创 Hive内嵌表生成函数UDTF:explode,posexplode,json_tuple,parse_url_tuple,stack

0.Hive内嵌表生成函数 Built-in Table-Generating Functions (UDTF) 普通的用户定义函数,如concat(),接受单个输入行并输出单个输出行。相反,表生成函数将单个输入行转换为多个输出行 Row-set columns types ...

2020-07-06 19:55:58 1423 0

原创 Hive内嵌字符处理函数:get_json_object,parse_url

1.Hive内嵌函数对Json字符和网址的解析处理 Return Type Name(Signature) Description string parse_url(string urlString, string partT...

2020-07-06 19:08:42 149 0

原创 Hive内嵌字符处理函数:regexp_extract,regexp_replace,split,replace,translate

1. Return Type Name(Signature) Description regexp_extract(string subject, string pattern, int index) ...

2020-07-06 18:25:56 245 0

原创 Hive内嵌集合函数:size,map_keys,map_values,array_contains,sort_array等详解

0.hive官方函数解释 hive官网函数大全地址:HIVE官网函数大全地址 Collection Functions Return Type Name(Signature) Description int ...

2020-07-06 17:42:15 219 0

原创 真正让你明白Hive调优系列3:笛卡尔乘积,小表join大表,Mapjoin等问题
原力计划

0.Hive中的优化分类 真正想要掌握Hive的优化,要熟悉相关的MapReduce,Yarn,hdfs底层源码,明晰Hive的底层执行流程。真正让你明白Hive调优系列,会征对下面分类逐一介绍。 大类1:参数优化 文件输入前看是否需要map前合并小文件 控制map个数,根据实际需求确认...

2020-07-04 20:39:09 904 4

原创 大多数开发人员都弄错的Hive与MapReduce小文件合并问题
原力计划

进来公司搞小文件治理(小于10Mb),小文件太多的危害就不此赘述了。公司的开发人员提供的小文件治理配置如下: -- 设置小文件合并 set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; set hive.merge.siz...

2020-07-02 22:58:00 3047 2

原创 数据仓库常见建模方法与建模实例演示
原力计划

1.数据仓库建模的目的? 为什么要进行数据仓库建模?大数据的数仓建模是通过建模的方法更好的组织、存储数据,以便在 性能、成本、效率和数据质量之间找到最佳平衡点。一般主要从下面四点考虑 访问性能:能够快速查询所需的数据,减少数据I/O 数据成本:减少不必要的数据冗余,实现计算结果数据复用,降...

2020-04-14 15:52:09 6688 2

原创 真正让你明白Hive参数调优系列1:控制map个数与性能调优参数

本系列几章系统地介绍了开发中Hive常见的用户配置属性(有时称为参数,变量或选项),并说明了哪些版本引入了哪些属性,常见有哪些属性的使用,哪些属性可以进行Hive调优,以及如何使用的问题。以及日常Hive开发中如何进行性能调优。 1.Hive有哪些参数,如何查看这些参数 Hive自带的配置属性...

2019-11-07 15:48:41 5516 7

原创 真正让你明白Hive参数调优系列2:如何控制reduce个数与参数调优

相比map个数的控制复杂性,reduce个数的设定要相对简单多了,reduce的个数一般最后决定了输出文件的个数,二者相等,如果想多输出文件的个数(这样文件变小,但有可能程序变慢),那么可以人为增加reduce个数。如果想减少文件个数,也可以手动较少reduce个数(同样可能程序变慢)。但实际开发...

2019-11-07 15:48:05 2449 2

原创 玩转CSS中浮动与定位的原理与使用

1. 文档流 文档流,是指盒子按照html标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置。 2. 浮动float特性 1、浮动元素有左浮动(float:left)和右浮动(float:right)...

2019-07-22 15:18:01 963 0

原创 玩转CSS中块元素、内联元素、内联块元素

元素就是标签,布局中常用的有三种标签,块元素、内联元素、内联块元素,了解这三种元素的特性,才能熟练的进行页面布局。 1.块元素 块元素,也可以称为行元素,布局中常用的标签如:div、p、ul、li、h1~h6、dl、dt、dd等等都是块元素,它在布局中的行为: 支持全部的样式 如果没有设置...

2019-07-22 11:21:48 5207 2

原创 轻松搞定CSS元素溢出的使用与注意事项

当子元素的尺寸超过父元素的尺寸时,需要设置父元素显示溢出的子元素的方式,设置的方法是通过overflow属性来设置。 1.overflow的设置项 1、visible 默认值。内容不会被修剪,会呈现在元素框之外。 2、hidden 内容会被修剪,并且其余内容是不可见的,此属性还有清除浮动、清除...

2019-07-22 10:46:19 419 0

原创 玩转页面布局与CSS盒子模型解析

1.页面布局概述 布局也可以叫做排版,它指的是把文字和图片等元素按照我们的意愿有机地排列在页面上,布局的方式分为两种: 1、table布局:通过table元素将页面空间划分成若干个单元格,将文字或图片等元素放入单元格中,隐藏表格的边框,从而实现布局。这种布局方式也叫传统布局,目前主要使用在ED...

2019-07-22 10:22:57 490 0

原创 玩转CSS的前生今生与基础语法,选择器的使用

1.为什么需要CSS? HTML 标签原本被设计为用于定义文档内容。通过使用 <h1>、<p>、<table> 这样的标签,HTML 的初衷是表达“这是标题”、“这是段落”、“这是表格”之类的信息。同时文档布局(比如字体啥颜色,是否缩进等样式)由浏览...

2019-07-21 19:35:11 4313 0

原创 玩转HTML中表单标签的使用

html中标签个数不多,但是标签的属性非常之多,所以实际除非专业做前端的,否则没必要把所有的属性都记下来,需要查查w3c文档即可,只需要掌握常见的用法,看得懂即可。详细请查阅:W3C官网网站 表单用于搜集不同类型的用户输入,表单由不同类型的标签组成,相关标签及属性用法如下: 1、<for...

2019-07-18 16:03:22 1187 1

原创 玩转HTML图像,链接,列表,表格等标签

html的学习知道有哪些标签,怎么使用,其余就是如何将这些标签互相混合嵌套使用了。 1.html图像img标签的使用 <img>标签可以在网页上插入一张图片,它是独立使用的标签,通过“src”属性定义图片的地址,通过“alt”属性定义图片加载失败时显示的文字,以及对搜索引擎和盲...

2019-07-18 14:44:54 5857 0

原创 玩转html概述和基础标签使用

1.html是什么? HTML是 HyperText Mark-up Language 的首字母简写,意思是超文本标记语言,超文本指的是超链接,标记指的是标签,是一种用来制作网页的语言,这种语言由一个个的标签组成,用这种语言制作的文件保存的是一个文本文件,文件的扩展名为html或者htm...

2019-07-18 11:31:52 1245 9

原创 玩转python中的GIL前世今生与核心用法剖析

1.GIL的前世今生 1.1GIL的是什么? python是解释型语言,不用编译,运行时可以直接通过解释器进行解释执行了。类似linux中的bash解释器,所以python中也有很多解释器,如cpython(C语言实现),jpython等,只是默认的解释器Cpython,所以大家一般使用...

2019-07-17 23:54:45 3629 4

原创 python连接操作mysql数据库使用详解

在python3中,有个模块pymysql,用户可以通过这个模块实现远程对mysql数据库的操作。 1.python操作mysql流程架构 2 .python操作mysql使用演示 1.安装并且导入包pymysql,如果环境中没有安装pymysql包,可以直接pip3 install p...

2019-07-16 10:58:58 942 0

原创 玩转python中with的使用与上下文管理器

人是随着时间不断进化而来的,同样编程语言也是随着IT行业的更新换代,功能模块不断地优化与丰富才壮大起来的。比如在python2.5之前使用open读写文件操作就要注意。比如Python 程序打开一个文件后,往文件中写内容,写完之后,就要关闭该文件,否则会出现什么情况呢?极端情况下会出现 "...

2019-07-12 20:39:26 9416 3

原创 网络通信原理:为什么一个IP账号通过路由器可供多人同时使用?

学习过ip中的人都知道,ip的作用就是在网络通信中标识唯一一台主机。那么实际中,你购买了一个账号,运行商给你分配一个ip,通过路由器为什么就可以供多人(多台电脑)同时使用呢?这个时候不就和前面矛盾了吗? 1.让两台电脑之间通信:网线 想让两台电脑之间通信,最简单的方式就是用一根网线连接双方...

2019-07-11 21:11:24 5786 6

原创 python以epoll方式实现HTTP服务器,浏览器通过HTTP与之通信6

实际开发中,由于各种原因,我们一般不会用前面演示几种方式实现多并发的web服务器,而是使用一个种更加高效的方式:epoll方式。比如nginx服务器的实现就是基于epoll方式,同样实现了非阻塞,“并发”。 1.什么是epoll? Epoll可是当前在Linux下开发大规模并发网络程序的热...

2019-07-11 16:19:23 707 2

原创 python以单线程非阻塞模式实现HTTP服务器,浏览器通过HTTP与之通信5

多进程一般来说要比单进程效率高,因为多进程可以解决了单进程recv()阻塞等待的问题。而实际上单进程也可以有非阻塞模式,实现多进程的功能,并且效率更高。所谓单线程非阻塞模式: 1.首先开启socket非阻塞模式 2.然后将socket接受的新客户端请求放入到一个列表中,不用...

2019-07-11 15:44:19 2214 1

原创 python实现协程方式的HTTP服务器,浏览器通过HTTP与之通信4

实际开发中,多线程多进程尽管效率很高,但是当服务器面临多并发,海量访问时,不可能说建立那么多的进程,线程数,而是通过更小粒度的协程方式来实现,这样可以更高地利用CPU资源。 网络间通信是基于TCP协议传输数据的,而服务器与浏览器之间通信是基于HTTP协议的,那么下面基于python实现一个...

2019-07-11 11:29:50 1557 1

原创 python实现多进程与多线程HTTP服务器,浏览器通过HTTP与之通信3

因为网络间通信是基于TCP协议传输数据的,而服务器与浏览器之间通信是基于HTTP协议的,那么下面基于python实现一个多进程或多线程tcp服务器,浏览器可以基于http协议进行发送请求和解析。浏览器展示返回的一个标准的HTML网页,此外实现服务器解析客户端多次请求并且返回请求结果。即:客户端根据...

2019-07-11 10:13:13 1413 0

原创 python实现外部静态服务器,浏览器通过HTTP与之通信2

因为网络间通信是基于TCP协议传输数据的,而服务器与浏览器之间通信是基于HTTP协议的,那么下面基于python实现一个tcp服务器,浏览器可以基于http协议进行发送请求和解析。浏览器展示返回的一个标准的HTML网页,此外实现服务器解析客户端多次请求并且返回请求结果。即:客户端根据HTML里面的...

2019-07-10 14:29:51 2003 1

原创 python实现外部静态服务器,浏览器通过HTTP与之通信1

因为网络间通信是基于TCP协议传输数据的,而服务器与浏览器之间通信是基于HTTP协议的,那么下面基于python实现一个tcp服务器,浏览器可以基于http协议进行发送请求和解析。展示浏览器返回一个固定页面和HTML页面案例。 1.服务器只能返回固定页面给请求者 import socket ...

2019-07-07 23:01:23 6276 5

原创 HTTP协议简介与在python中的使用详解

1. 使用谷歌/火狐浏览器分析 在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以: HTML是一种用来定义网页的文本,会HTML,就可以编写网页; HTTP是在网络上传输HTML的...

2019-07-07 21:36:56 7504 6

原创 玩转python协程的使用gevent,greenlet,yield等

1.进程,线程,协程的关系 1.1一个浅显的例子,说明三者的逻辑关系 有一个老板想要开个工厂进行生产某件商品(例如剪子) 他需要花一些财力物力制作一条生产线,这个生产线上有很多的器件以及材料这些所有的 为了能够生产剪子而准备的资源称之为:进程 只有生产线是不能够进行生产的,所以老板的找个工...

2019-07-04 19:18:26 1724 0

原创 玩转python进程池的使用与进程之间通信的实现

1.用queue实现两个进程之间数据传输,一个读取,一个写入 from multiprocessing import Process, Queue import os, time, random # 写数据进程执行的代码: def write(q): for value in [&#...

2019-07-04 13:59:03 3177 0

原创 彻底搞懂python执行multiprocessing Pool线程池程序报错RuntimeError:reeze_support()

1.执行一个python的multiprocessing.Pool进程池程序,实现多进程程序,代码如下,结果在windows下执行报错,但是在linux和unix里面执行没有报错? from multiprocessing import Pool import time ,os ,rand...

2019-07-04 11:25:05 1847 0

原创 玩转python进程使用,知识点讲解与代码演示

1.进程与线程的区别? 1.1形象来区分 进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ 线程,能够完成多任务,比如 一个QQ中的多个聊天窗口 1.2.原理区分 进程是系统进行资源分配和调度的一个独立单位,所谓的进程就是“运行的程序+需要的资源” 线程是进程的一个实体,是C...

2019-07-03 23:33:08 1293 0

原创 python多线程实现UDP网络通信代码演示

需求: 编写一个有2个线程的程序 线程1用来接收数据然后显示 线程2用来检测键盘数据然后通过udp发送数据 import socket import threading def send_msg(udp_socket): """获取键盘数据,并将其...

2019-07-03 18:49:24 1872 0

原创 python线程互斥锁和死锁问题详解与演示

1.什么是互斥锁 当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制。线程同步能够保证多个线程安全访问竞争资源,最简单的同步,是引入互斥锁。互斥锁为资源引入一个状态:锁定/非锁定 某个线程要更改共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改;直到该线程...

2019-07-03 16:33:44 693 0

原创 python自定义线程类的使用与共享全局变量的问题

通过使用threading模块能完成多任务的程序开发,但 实际开发中为了让每个线程的封装性更完美,所以使用threading模块时,往往会定义一个新的子类class,只要继承threading.Thread就可以了,然后重写父类的run方法即可 1.自定义线程类 import time c...

2019-07-03 15:35:50 1099 0

原创 python多线程工作原理与实现代码演示

1.什么叫多任务? 什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。 2.设么叫线程与进程? ...

2019-07-03 14:14:48 1339 0

原创 python基于tcp协议实现客户端从服务器进行文件下载

用python实现一个机遇tcp协议的服务器和客户端,服务器存储文件,客户端从服务器请求文件下载,互相通信。 1.tcp协议的服务器实现 from socket import * import sys def get_filecontent(file_name): '...

2019-07-02 20:24:48 2278 1

原创 python实现TCP服务器与多个客户端通信案例

1.TCP实现服务器端与多个客户端通信 import socket def main(): # 1. 创建套接字socket tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ...

2019-07-02 18:59:56 4156 3

原创 python代码实现tcp客户端和服务端通信演示

1.TCP介绍 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。TCP通信需要经过创建连接、数据传送、终止连接三个步骤。 2.TCP特点 1. 面...

2019-07-02 17:21:05 1832 0

原创 python中使用UDP实现网络版聊天工具

创建一个基于udp的网络程序流程很简单,具体步骤如下: 创建客户端套接字 发送/接收数据 关闭套接字 import socket # 发送数据方法 def send_Msg(udp_socket): msg = input("\n please enter your...

2019-07-02 15:41:04 860 0

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