自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

helloxiaozhe的博客

信者通达,数据为王,自强不息,解码未来——数据码农宣言

  • 博客(357)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

转载 多进程和多线程的概念

多进程和多线程的概念目录一、多线程是什么? 二、多进程是什么? 三、多线程与多进程,选择谁? 四、并行、并发、高并发等概念一、多线程是什么? 说起多线程,那么就不得不说什么是线程,而说起线程,又不得不说什么是进程。 进程可以简单的理解为一个可以独立运行的程序单位,它是线程的集合,进程就是有一个或多个线程构成的。而线程是进程中的实际运行单位,是操作系统进行运算调度的最小单位。可理解为线程是进程中的一个最小运行单元。 那么多线程就很容易理解:多线程...

2020-06-03 09:48:05 2145

转载 python 多线程就这么简单

python 多线程就这么简单  多线程和多进程是什么自行google补脑  对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂。所以,这里力图用简单的例子,让你对多线程有个初步的认识。单线程 在好些年前的MS-DOS时代,操作系统处理问题都是单任务的,我想做听音乐和看电影两件事,那么一定要先排一下顺序。(好吧!我们不纠结在DOS时代是否有听音乐和看影的应用。^_^)from time import ctime,sleepdef mu...

2020-06-03 09:37:28 555

原创 Python smtplib.SMTP()和smtplib.SMTP_SSL() 登录邮箱并发送邮件比较

邮件发送流程 邮件的发送是主动行为:主要通过 MUA/邮件客户端软件,将邮件内容发送给对应的服务器 暂存到投递服务区,然后由当前运营商根据邮件特征信息将邮件转发给目标服务器的投递服 务区,此时目标用户的邮件已经发送完成,等待对方收取即可。邮件的收取也是主动行为,用户可以打开邮件客户端软件,通过点击类似于收取这样的行为 就可以从自己邮箱所属的服务器投递区中提取邮件了。什么是POPO3、SMTP和IMAP?服务器地址和端口是什么?返回  POP3  POP...

2020-06-02 21:07:16 21871 1

转载 漫谈数据仓库之拉链表使用场景、原理和在Hive中的实现示例

一、全量表-增量表-拉链表-流水表-介绍1. 全量表:每天的所有的最新状态的数据,2. 增量表:每天的新增数据,增量数据是上次导出之后的新数据。3. 拉链表:维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录而已,通过拉链表可以很方便的还原出拉链时点的客户记录。4. 流水表: 对于表的每一个修改都会记录,可以用于反映实际记录的变更。拉链表和流水表的区别流水表存放的是一个用户的变更记录,比如在一张流水表中,一天的.

2020-05-27 22:06:05 3887

转载 Hive自定义函数UDF与transform的区别和使用例子

Hive自定义函数与transform的区别和使用例子 hive是给了我们很多内置函数的,比如转大小写,截取字符串等,具体的都在官方文档里面。但是并不是所有的函数都能满足我们的需求,所以hive提供了给我们自定义函数的功能。一般有两种方法:自定义内置函数 UDF(Java实现)和Transform关键字(Python)实现一、Transform关键字(Python)实现...

2020-03-29 23:40:13 1472

转载 Linux shell xargs命令详解,xargs与管道的区别

Linux shell xargs命令详解,xargs与管道的区别阅读目录为什么要用xargs,问题的来源 xargs是什么,与管道有什么不同 xargs的一些有用的选项回到顶部为什么要用xargs,问题的来源在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及...

2020-03-28 10:52:33 2999

转载 Linux alias实现命令别名

Linux alias实现命令别名需要经常进入/srv/www/app/account这个目录,每次都得重复的输入这一长串路径进入该目录,显得麻烦而费时,因此可以将“cd /srv/www/app/account”这样一个命令取一个别名,每次只需输入该别名就可以进入该目录Linux系统提供了一个有用的工具叫alias,可以让我们将一些需要频繁使用的但又过于冗长的命令设置一个别名,以后只需输...

2020-03-26 21:37:01 748

转载 linux下,源码的安装之 ./configure --prefix --with解释

linux下,源码的安装之 ./configure --prefix --with解释linux下,源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。过程中用到./configure --prefix --with;其中--prefix指的是安装路径,--with指的是安装本文件所依赖的库文件with:指定依赖--w...

2020-03-26 21:06:01 5001 1

转载 Python的内嵌函数和闭介绍

Python的内嵌函数和闭介绍1.内嵌函数:在函数中定义函数内嵌函数例子1、# 代码段1def fun1(): print('外层函数正在被调用') def fun2(): print('内层函数正在被调用')fun1()'''输出如下:外层函数正在被调用'''例子2:# 代码段2def fun1(): print('外层函数正在被调用') ...

2020-03-15 21:59:30 860

原创 格式化namenode时报错No Route to Host from node1/192.168.3.101 to hadoop05:8485 failed on socket timeout ex

格式化namenode时 报错 No Route to Host from node1/192.168.3.101to hadoop:8485 failed on socket timeout exception: java.net.NoRouteToHostException: No route to host解决方案一、报错信息概要在配置hadoop高可用HA集群的时候,在使用had...

2020-02-17 12:17:26 4090

转载 Linux shell命令行可选参数的getopts命令使用例子

shell命令行可选参数的getopts命令使用例子一、概述getopts [option[:]] [DESCPRITION] VARIABLEoption:表示为某个脚本可以使用的选项":" 冒号如果某个选项(option)后面出现了冒号(":"),则表示这个选项后面可以接参数(即一段描述信息DESCPRITION)VARIABLE:表示将某个选项保存在变量VARIABLE中g...

2020-01-03 20:03:24 3644 1

转载 python中url解析及排序函数sort ()与 sorted() 区别、字典排序及高级用法

python中url解析及排序函数sort ()与 sorted() 区别、字典排序及高级用法一、python如何解析url,获取host和path最近在工作中需要将url的host和path路径分开存储,python内置的urlparse, 支持我们优雅的解决这个问题,参考地址>>> from urlparse import urlparse>>&...

2020-01-02 18:32:06 1938

原创 Spark模拟实现统计出每个域名下面访问次数最多的前三个URL

Spark模拟实现统计出每个域名下面访问次数最多的前三个URL一、需求:现在假设有一个IT教育网站,有Java,PHP,net等多个栏目,下面是模拟实现的网站日志第一个字段是访问日期,第二个字段是访问的URL,其中每个栏目有一个独立域名,如下:java.aaaaaaa.cnnet.aaaaaaa.cnphp.aaaaaaa.cn统计出每个域名下面访问次数最多的前三个URL...

2020-01-02 16:47:21 1036

转载 hive-sql查询结果保留特点小数位数的方法

一、ceil:向上取整ceil(DOUBLE d): d是DOUBLE类型的,返回>=d的最小的BIGINT值spark-hive> select ceil(123.58);_c0124Time taken: 0.093 sspark-hive> select ceil(123.28);_c0124Time taken: 0.109 s二、flo...

2019-12-17 13:27:17 22720 1

转载 Hive分析函数之SUM,AVG,MIN和MAX OVER(PARTITION BY xxx order by xxx,用于求一段时间内截至到每天的累计访问次数、平均访问次数、最小访问次数、最大访问次

Hive分析函数之SUM,AVG,MIN和MAX OVER(PARTITION BY xxx order by xxx,用于求一段时间内截至到每天的累计访问次数、平均访问次数、最小访问次数、最大访问次数Hive提供了很多分析函数,用于统计分析,比如SUM OVER PARTITION BY ORDER BY 是 实现分组累计的计算方法。本文先介绍SUM、AVG、MIN、MA...

2019-12-17 13:16:26 13364

原创 【spark源码系列】pyspark.sql.Row介绍和使用示例

0、Spark SQL和DataFrames重要的类有:pyspark.sql.SQLContext: DataFrame和SQL方法的主入口 pyspark.sql.DataFrame: 将分布式数据集分组到指定列名的数据框中 pyspark.sql.Column :DataFrame中的列 pyspark.sql.Row: DataFrame数据的行 pyspark.sql.Hiv...

2019-12-08 11:36:15 7212 2

原创 【源码解读系列之spark】Spark RDD缓存函数cache() 和 persist()原理和使用

1、RDD的缓存级别顺便看一下RDD都有哪些缓存级别,查看storagelevel.py代码StorageLevel类如下:__all__ = ["StorageLevel"]class StorageLevel(object): """ Flags for controlling the storage of an RDD. Each StorageLevel...

2019-11-24 12:20:33 723

转载 Mysql 日期和时间加减及日期计算相差年、月、周、日数整理

Mysql 日期和时间加减及日期计算相差年、月、周、日数整理1、日期和时间加减select now()-- 获取当前具体的日期和时间 2019-11-13 16:38:20select curdate()-- 获取当前日期 2019-11-13select curtime()-- 获取当前时间 6:38:201.1、MySQL加减某个时间间隔设置当前...

2019-11-13 18:38:46 71884 2

转载 SSLError ssl.c510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

python 采用post方式模拟登录的时候,却报了如下错误:requests.exceptions.SSLError: HTTPSConnectionPool(host='login.sec.xxx.net', port=436): Max retries exceeded with url: /sec/login (Caused by SSLError(SSLError(1, '_ssl...

2019-11-01 20:36:57 927

转载 mysql中的几种join 及 full join,自然连接问题

【注意】:1)、Oracle数据库支持full join,mysql是不支持full join的,但仍然可以同过左外连接+ union+右外连接实现 2)、自然连接:通过MySql自己的判断完成连接过程,不需要指定连接条件。MySql会使用表内的,相同的字段,作为连接条件。自然连接分为内外之分。0、初始化SQL语句:/*join 建表语句*/drop...

2019-10-26 20:14:48 4902 1

转载 Python 中 str.format() 方法详解

Python 中 str.format() 方法详解参考:https://blog.csdn.net/jpch89/article/details/84099277以下建议在版本 python 3.7.4 和python 2.7.16 实验,部分在Python 2.6.6通不过。1. 术语说明str.format() 方法通过字符串中的花括号 {} 来识别替换字段 replace...

2019-10-23 21:09:15 760

转载 hive中的lateral view 与 explode函数,及collect_set函数的使用

大纲: 1、概述 2、explode 使用例子 3、引入lateral view的原因 4、explode与lateral view使用示例1 5、explode与lateral view使用示例2 6、collect_set()函数示例 7、substr()函数示例 8、concat_ws()函数示例1、概述 ...

2019-10-18 16:49:27 3932 5

原创 Hive 自定义函数UDF开发手把手教程—— 创建临时函数和永久函数

Hive 自定义函数UDF开发手把手教程—— 创建临时函数和永久函数 Hive中,除了提供丰富的内置函数(见[一起学Hive]之二–Hive函数大全-完整版)之外,还允许用户使用Java开发自定义的UDF函数。开发自定义UDF函数有两种方式,一个是继承org.apache.hadoop.hive.ql.exec.UDF,另一个是继承org.apache.hadoop.hiv...

2019-10-11 11:58:58 8111

转载 Sublime Text 3 常用插件 —— SFTP

Sublime Text 3 常用插件 —— SFTPSFTP在 Win 下常用 Xftp 软件来和远程服务传递文件,但是要是在项目开发的时候频繁的将远程文件拖到本地编辑然后再传回远程服务器,那真是麻烦无比,但是Sublime中SFTP插件,它让这世界美好了许多。Sublime下的SFTP,只要 Ctrl+S 即可同步本地到服务器。它主要功能就是通过 FTP/SFTP 连接远程服...

2019-10-10 22:01:39 1628

原创 Win10下python 2.7与python 3.7双环境安装教程

Win10下python 2.7与python 3.7双环境安装教程1、python软件下载网址:https://www.python.org/downloads/windows/2、 安装python2.7.16第一步双击安装包,选择你要安装的路径第二步默认next,这里不能配置环境变量,只能安装好后手动配。点击finish安装完成。这样python2和...

2019-10-10 21:55:25 12045 1

转载 【数仓建模】星型模型和雪花型模型比较

一、概述维度模型是数据仓库领域的 Ralph Kimball 大师所倡导的,他的 The Data warehouse Toolkit-The Complete Guide to Dimensional Modeling 是数据仓库工程领域最流行的数据仓库建模的经典。维度建模从分析决策的需求出发构建模型,为分析需求服务,因此它重点关注用户如何更快速地完成需求分析,同时具有较好的大规模复杂查...

2019-09-21 13:24:55 2311

转载 linux shell语法检查或者查看shell脚本执行过程的参数介绍及两种使用方法

shell语法检查或者查看shell脚本执行过程的参数介绍及两种使用方法一、常用参数概述:set -x 与 set +x在liunx脚本中可用set -x就可有详细的日志输出,省的老是要echo了用于脚本调试。set是把它下面的命令打印到屏幕set -u 是显示语法未定义的变量,却使用了set -x 是开启set +x是关闭set -o是查看 (xtrace),...

2019-09-17 19:15:53 10694

转载 Sqoop全量数据导入、增量数据导入、并发导入 (Sqoop进阶)

一、sqoop概述: Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。 Sqoop项目开始于200...

2019-08-31 20:42:18 5138

转载 Hive的三个窗口函数排序结果的差异(rank函数,dense_rank函数,row_numer函数)

总结:RANK() 排序相同时会重复,总数不会变DENSE_RANK() 排序相同时会重复,总数会减少ROW_NUMBER() 会根据顺序计算这三个函数常常和开窗函数结合在一起使用案例实操:1,计算没门科目的成绩排名:[isea@hadoop108 datas]$ cat score.txt悟空 语文 87悟空 数学...

2019-08-31 19:40:22 970

转载 Python中: unsupported format character ''' (0x27)

Python中: unsupported format character ''' (0x27)1)MySQL DB使用%运算符将参数放入查询中,因此查询字符串中的任何单个%字符都被解释为参数说明符的开始。2)%在python中三个特殊的符号,如%s,%d分别代表了字符串占位符和数字占位符。例子一、今天写python程序,用pymysql从数据库查询数据,使用like模糊匹配报错:...

2019-07-19 11:32:47 20211 2

转载 【hive创建动态分区】hive使用动态分区插入数据详解

【hive创建动态分区】hive使用动态分区插入数据详解往hive分区表中插入数据时,如果需要创建的分区很多,比如以表中某个字段进行分区存储,则需要复制粘贴修改很多sql去执行,效率低。因为hive是批处理系统,所以hive提供了一个动态分区功能,其可以基于查询参数的位置去推断分区的名称,从而建立分区。 1.创建一个单一字段分区表create table dpartition(i...

2019-07-01 21:18:37 8392

转载 【hive创建动态分区】使用MSCK命令修复Hive表分区

【hive创建动态分区】使用MSCK命令修复Hive表分区一、介绍我们平时通常是通过alter table add partition方式增加Hive的分区的,但有时候会通过HDFS put/cp命令往表目录下拷贝分区目录,如果目录多,需要执行多条alter语句,非常麻烦。Hive提供了一个"Recover Partition"的功能。具体语法如下:MSCK REPAIR TAB...

2019-07-01 21:10:00 1054

原创 【spark exception】org.apache.spark.SparkException java.lang.ArrayIndexOutOfBoundsException 造成数组越界

【spark exception】org.apache.spark.SparkException java.lang.ArrayIndexOutOfBoundsException 造成数组越界当执行以下spark-sql是时候insert overwrite table hive_user_income_detail_daily partition (pday='20190620',i...

2019-06-28 17:01:10 3488

转载 python获取不同时区的时间:通过datetime获取UTC时间ISO格式

python获取不同时区的时间:通过datetime获取UTC时间ISO格式一个热点统计需求,需要限定一个时间范围,计算出该范围内的热点事件,相关数据则以UTC标准时间的ISO时间格式存在mongodb中,和服务器设置的时区UTC+8并不一致。为了解决这个问题,直觉反应是在python中将时区改为UTC时区,然而改变整个服务的时区设置却可能会影响其他逻辑,此种更改最好是能限定在热点逻辑的这...

2019-06-19 21:05:11 17415

转载 python 实现两个list列表逐元素相减,实现合并两个列表,以及zip() 函数介绍

python 实现两个list列表逐元素相减,实现合并两个列表,以及zip() 函数介绍(1)python 两个相同长度得list列表逐个对应元素相减Python中的列表中的元素不能直接相加减,但是可以采用如下方法实现目的:1)循环相减:a = [1,2,3,4,5]b = [5,4,3,2,1]c = [a[i]+b[i] for i in range(0,len(a)...

2019-05-31 20:59:51 68924 1

转载 XShell鼠标选中, 实现快捷复制和粘贴

以前用Putty, 里面有选中后, 点击鼠标右键快速粘贴的功能, 用Xshell后发现默认没有这个设置. 但是Xshell因为界面漂亮得多,功能也丰富得多,并且一直在更新维护, 所以还是喜欢用它. 一次在视频课程上, 看到老师用XShell也实现了和Putty上的功能, 求助度娘, 找到了这个被隐藏起来的好用的功能.1. 鼠标选中, 点击鼠标右键快速粘贴:工具 --> 选项...

2019-05-30 12:15:44 5587 1

转载 理解维度数据仓库——事实表、维度表、聚合表

理解维度数据仓库——事实表、维度表、聚合表一、事实表在多维数据仓库中,保存度量值的详细值或事实的表称为“事实表”。一个按照州、产品和月份划分的销售量和销售额存储的事实表有5个列,概念上与下面的示例类似。 Sate Product Mouth Units Dollars W...

2019-05-23 21:16:22 22348

转载 大数据模块开发----数据仓库设计

大数据模块开发----数据仓库设计1.维度建模基本概念维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。数据集市可以理解为是一种"小型数据仓库"。1.1、维度表(dimension)维度表示你要对数据进行分析时所用的一个量,比如你要分析产品销售情况, 你可以选择按类别来进行分析,或按区域来分析。这样的按..分析就构成一个维...

2019-05-23 20:24:36 1181

转载 spark用正则表达式处理需要将多个输入文件路径作为输入的问题

一、spark用正则表达式处理需要将多个输入文件路径作为输入的问题1、spark需要处理过去半个月的数据,每天的数据再hdfs上存到一个文件中,将近15个输入目录,此时可以采用如下正则匹配的写法,将代码简化:import datetimedef produce_half_month(thedate): current_day = thedate # current_da...

2019-05-19 20:48:40 2119

转载 Python之 /usr/bin/python^M: bad interpreter: No such file or directory

在windows的IDE开发,部署在linux服务器运行时,需要注意windows和linux的文件编码问题part01:在windows系统下写的python脚本,在linux下赋予权限chmod +x xxx.py 以后,执行./xxx.py运行提示:bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No s...

2019-05-19 20:39:04 5852

HelloUDF.zip

Hive 自定义函数UDF开发手把手教程—— 创建临时函数和永久函数代码,具体创建过程参考https://blog.csdn.net/helloxiaozhe/article/details/102498567

2019-10-11

MacDown使用小例子

MacDown使用操作例子——`MarkDown` 是一种 **轻量级的标记语言** , 可以使用普通文本编辑器编写的语言。通过简单的标记语法,使普通的文本具有一定的格式。 `MarkDown` 的优点在于,它用简洁的语法代替了排版。而不像一般我们用的处理软件 Word 或 Pages 有大量的排版、字体设置。它使我们专注于内容的编写。

2018-05-23

使用指针,进一步熟悉链表操作,实现添加,删除,修改,查找,排序等功能

通过使用指针,进一步熟悉链表操作,实现添加,删除,修改,查找,排序等功能。 我的课题理解: 我把课题定位在学生信息管理系统:创建一个带头结点学生链表,用菜单的形式实现增删改查功能外,用采用冒泡排序实现按学生成绩由高到低排序功能,同时又实现用户登陆,用户注册验证,以及一屏连续向用户展示功能。 目录: 程序代码实现部分: p1----p14 实验结果部分: P15---P20 实验中遇到问题及解决方法: P21---P25 实验心得: P26

2012-08-08

运算符重载和函数重载

练习对字符串的常用操作,进而加深对类的多态性的理解: 如运算符重载和函数重载 字符串连接,+=运算符重载 求子串: 左边几个字符,,, Left(int nCount) 右边几个,, Right(int nCount) 某个位置开始的几个字符 Mid(int nPos,int nCout) 2..进一步熟悉掌握对类的构造函数重载,拷贝构造的使用 目录: 程序代码实现部分: p2----p6 实验结果部分: P7 实验中遇到问题及解决方法: P7----P9 实验心得: P9

2012-08-08

停车场管理系统

本次课题描述: (1) 有一个两层的停车场, 每层有6个车位, 当第一层车停满后才允许使用第二层. (停车场可用一个二维数组实现, 每个数组元素存放一个车牌号 ) 每辆车的信息包括车牌号、 层号、 车位号、停车时间共4项, 其中停车时间按分钟计算 。 (2) 假设停车场初始状态为第一层已经停有4辆车, 其车位号依次为1—4 , 停车时间依次为20, 15, 10 , 5 . 即先将这四辆车的信息存入文件”car.txt”中( 数组的对应元素也要进行赋值 ) 。 停车操作:当一辆车进入停车场时, 先输入其车牌号, 再为它分配一个层号和一个车位号, 停车时间设为5 , 最后将新停入的汽车的信息添加文件”car.txt”中, 并将在此之前的所有车的停车时间加5。 (3) 收费管理(取车): 当有车离开时, 输入其车牌号, 先按其停车时间计算费用, 每5分钟0.2元. (停车费用可设置一个变量进行保存), 同时从文件”car.txt”中删除该车的信息, 并将该车对应的车位设置为可使用状态(即二维数组对应元素清零). 按用户的选择来判断是否要输出停车收费的总计。 系统开发的目标是: (1) 停车场内车辆信息及时汇总,随时了解停车场车位的使用情况; (2) 统计车辆信息全部电脑化,提高工作效率和工作质量; (3) 以停车场内的全部车辆信息为基础,由客户自主选择停车位,尽量达到车位的最高利用率; (4) 停车费用的结算也由电脑来完成,解决客户所担心的乱收费问题。 (5) 用户可以在取车时,留下宝贵的对本次使用的评价,待管理员审核后就可以动态地显示用户界面的正上方。,

2012-08-04

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

TA关注的人

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