自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

转载 【转载】spark 算子介绍及常见问题

scala基础知识http://www.aboutyun.com/thread-19652-1-1.htmlscala从入门到精通https://www.kancloud.cn/kancloud/scala-quickstart/50725spark算子详解,有详细的算例https://hacpai.com/article/1477464034067#toc_h2_52Se...

2018-11-02 18:02:31 324

原创 pyspark的intellij idea 环境搭建

0.pyspark的windows7环境搭建参考pyspark的windows7环境搭建,搭建windows7的环境1.安装Maven,配置环境变量Maven入门(1).从Maven官网下载地址下载zip格式的软件包apache-maven-3.5.4-bin.zip将压缩包解压到D盘某目录下即可(D:\Maven\apache-maven-3.5.4)。(2).配置环...

2018-10-22 14:27:15 4253

原创 pyspark的windows7环境搭建

安装步骤1.安装java,这里选择version 1.8.,配置环境变量JAVA_HOME,PATH,CLASSPATH参考链接:Java JDK8下载地址,Java安装及环境配置注意java的版本不能太高,否则后面java安装会报错。2.安装scala,配置环境变量(1).从 Scala官网下载目录下载 Scala 二进制包,本教程将下载 2.11.7版本下载后,双击...

2018-10-19 16:55:34 999 1

原创 shell 比较符号

基本的if条件命令选项有: -eq —比较两个参数是否相等(例如,if [ 2 –eq 5 ])-ne —比较两个参数是否不相等-lt —参数1是否小于参数2-le —参数1是否小于等于参数2-gt —参数1是否大于参数2-ge —参数1是否大于等于参数2-f — 检查某文件是否存在(例如,if [ -f "filename" ])-d — 检查目录是否存在...

2018-07-12 11:42:39 1206

原创 Python 之 argparse

argparse:python标准库中的命令行解析模块,顾名思义主要用于解析命令行参数常用代码定位参数import argparseparser = argparse.ArgumentParser()parser.add_argument("echo", help="echo the string you use here")args = parser.parse_args()print ...

2018-06-20 20:21:49 358

原创 jupyter notebook调试流程

1.在每个模块化的Cell里编写代码,单步调试,反复论证;2.最终调通程序后,点击重置符号Restart kernel,按顺序最后过一遍程序,达到重新编号同时检验代码先后顺序的作用;3.最后把所有代码整理,作为最终的成果,也便于分享和展示。养成好习惯!该步骤也适用于其他程序调试...

2018-05-23 11:41:09 13750 3

原创 pandas 之 DataFrame筛选数据

import pandas as pdimport numpy as npdf = pd.DataFrame(np.random.randn(6, 4), columns=list('abcd'))df        a         b         c         d0 -0.026429 -1.957159 1.365762 0.7994371 -0.115957 1.38...

2018-05-17 19:50:03 12056

原创 PyCharm中Jupyter Notebook的使用

前提:已经按照好pycharm、anaconda方法一:1.在pycharm的文件夹上直接右键->New->Jupyter Notebook2.编写程序print('hello world!')3.点击Run Cell,会弹出提示http://localhost:8888/?token=4.在terminal或cmd中运行jupyter notebook或者jupyter notebo...

2018-05-17 13:20:59 5165 2

原创 Hive查看table在HDFS上的存储路径

1. 启动hive$ hive2. 查看table的相关信息hive>show databases;hive>use databasename;hive>show create table tablename; --查看table的存储路径hive>desc tablename; --查看table的表结构hive>show fu...

2018-05-17 11:20:58 6477

原创 Hive查询结果的几种保存方法

1. 保存到本地调用hive的标准输出,将查询结果写到指定的文件中hive -e "select user, login_timestamp from user_login" > /tmp/out.txt 或者$ hive -f file.sql > /tmp/out.txt $ cat file.sql select user, login_timestamp from ...

2018-05-16 18:19:47 8543 1

原创 Hive查询语言(HiveQL)

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。GROUP BY按照某些字段的值进行分组,有相同值放到一起SELECT col1 [,...

2018-05-16 17:27:48 6200

原创 git 之 新建分支、删除分支、合并分支、同步分支、分支冲突

新建分支:git branch                                           #查看本地所有分支git checkout -b <branch name>        #新建分支删除分支:1. 删除本地分支:git branch                                  #查看本地所有分支git branch -d &lt...

2018-05-16 13:24:57 388

原创 shell中各种括号()、(())、[]、[[]]、{}的作用和区别

$()和 ` `  在 bash shell 中,$( ) 与` ` (反引号) 都可用做命令替换用。例如   version=$(uname -r)和version=`uname -r`都可以是version得到内核的版本号各自的优缺点:1. `  ` 基本上可用在全部的 unix shell 中使用,若写成 shell script ,其移植性比较高,但反单引号容易打错或看错。2. $()并不...

2018-05-16 10:43:01 35479 6

原创 shell 之 date

#date 获取当前时间#date -d "-1week" +%Y%m%d 获取上周日期(day,month,year,hour)#date--date="-24 hour" +%Y%m%d 同上date_now=`date+%s` shell脚本里面赋值给变量mkdir `date+%Y%m%d` 创建以当前时间为文件名tar cvf./htdocs`date +%Y%m%d`.tar ./* ...

2018-05-14 20:20:58 239

原创 shell 之 getopts

shell中getopts用于获取用户在命令下的参数,然后根据参数进行不同的执行。getopts配合case进行操作时有两个隐含变量:一个是OPTARG,用来取当前选项的值;另外一个是OPTIND,代表当前选项在参数列表中的位移,OPTIND是一个特殊的变量,它的初始值是1,每次getopts处理完一个命令参数后就递增它,得到getopts要处理的下一个参数。通过一个例子说明其使用方法:while...

2018-05-14 19:57:29 277

原创 运行.sh文件提示‘\r’ command not found

基于 DOS/Windows 的文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行,即win每行结尾为\r\n,而linux只有一个\n。如果win下的文档上传到linux,每行的结尾都会出现一个^M(^M是ctrl+v,ctrl+m) ,然后提示“‘\r’ command not found”。解决办法:如果是单个文档的话,可以用vim打开,执行 :%s/^M/...

2018-05-14 12:00:42 5726

原创 shell 之 脚本变量和字符串截取

$$   Shell本身的PID(ProcessID) $!    Shell最后运行的后台Process的PID $?    最后运行的命令的结束代码(返回值) $-    使用Set命令设定的Flag一览 $*    所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 $@  所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2"

2018-05-11 16:56:15 1753

原创 python2安装pydelicious API

进入cmdcd C:\python27\scripts\easy_install pydelicious 安装成功测试可在Python IDE环境下使用,但pycharm和jupyter下都不能用。。。

2018-05-11 15:43:06 247

原创 Vim常用快捷键总结

所有的命令都需要在Normal模式下使用,并且在Vim的Normal模式下,所有的键就是功能键.1.入门i → Insert 模式,按 ESC 回到 Normal 模式.x → 删当前光标所在的一个字符。:wq → 存盘 + 退出 (:w 存盘, :q 退出)   (:w 后可以跟文件名)dd → 删除当前行,并把删除的行存到剪贴板里p → 粘贴剪贴板h j k l→ 移动光标, j 是向下箭头,...

2018-05-11 13:29:48 1588

原创 Python文件读写readline()、readlines()、CSV库、pandas库

1.readline().readline()每次只读取一行,通常比 .readlines()慢得多;仅当没有足够内存可以一次读取整个文件时,才应该使用.readline()。 f = open('poem.txt','r') result = list() for line in open('poem.txt'): line = f.readline() prin...

2018-05-11 10:26:19 10184

原创 Sublime Text 3常用快键键总结

通用(General)↑↓←→:上下左右移动光标,注意不是不是 KJHL !Alt:调出菜单Ctrl + Shift + P:调出命令板(Command Palette)Ctrl + ` :调出控制台编辑(Editing)Ctrl + Enter:在当前行下面新增一行然后跳至该行Ctrl + Shift + Enter:在当前行上面增加一行并跳至该行Ctrl + ←/→:进行逐词移动Ctrl + ...

2018-05-10 12:56:23 181

原创 C++ 之 迭代器

迭代器是一种检查容器内元素并遍历元素的数据类型。C++一般趋向于使用迭代器而不是下标操作。1.定义和初始化每种容器都定义了自己的迭代器类型,例如vector:vector<int>::iterator iter; //定义一个名为iter的迭代器迭代器的初始化vector<int> ivec;vector<int&g...

2018-04-10 17:04:30 495

原创 机器学习:判别式模型与生成式模型

首先明确一点,机器学习其实是从特征x预测标记y,求条件概率P(y|x)的过程。判别式模型判别式模型直接通过求解条件概率p(y|x)或者直接计算y的值来预测y,就是判别数据输出量的模型;举例:要判断一个羊是山羊还是绵羊,用判别式模型就是从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。求解思路:条件分布-->模型参数后验概率最大-->(似然函数,参...

2018-03-19 16:54:21 631

原创 anaconda升级与卸载

1.升级conda update condaconda update anaconda2.卸载删除anaconda的安装文件rm -rf anaconda并清理.bashrc中的anaconda路径

2018-03-16 13:34:36 2634

原创 GitLab安装与使用

Git是目前世界上最先进的分布式版本控制系统。GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可以浏览源代码,管理缺陷和注释。1.安装git首先,输入git,检查系统是否安装git然后,如果没有安装,输入命令sudo apt-get install git2.创建版本库(repository)(1)创建空目录$ mkdir learngit$ ...

2018-03-15 12:53:02 243

原创 ubuntu 下安装 Python tweepy库

1.下载安装文件.zip文件https://github.com/sixohsix/twitter2.在指定文件夹下解压该文件并安装unzip twitter-master.zipcd twitter-masterpython setup.py install搞定!

2018-03-09 16:22:31 418

原创 机器学习常用算法:最大熵模型

最大熵原理学习概率模型时,在所有可能的概率模型中,熵最大的模型是最好的模型。 假设离散随机变量XXX 的概率分布是 P(X)P(X)P(X) , 则其熵为H(P)=−∑xP(x)logP(x)H(P)=−∑xP(x)logP(x) H(P) = - \sum_x P(x) \text{log} P(x) 且满足如下不等式:0≤H(P)≤log|X|0≤H(P)≤log|X...

2018-02-23 22:46:23 664

原创 机器学习常用算法:Logistic Regression

逻辑斯谛分布设XX X 是连续随机变量,XX X 服从逻辑斯谛分布是指XXX 具有下列分布函数和密度函数: 分布函数 F(x)=P(X≤x)=11+e−(x−μ)/γF(x)=P(X≤x)=11+e−(x−μ)/γ F(x) = P(X \le x) = \frac{1}{1+e^{-(x-\mu)/\gamma}} 密度函数 f(x)=F′(x)=e−(x−μ)/γγ(1+e...

2018-02-23 17:06:15 190

原创 python的continue、break和pass语句

1、continue 语句用于for和while循环中,它用来跳过当前循环的剩余语句,然后进行下一轮循环。它可以理解为删除效果,可删除满足循环条件下的某些不需要的成分。var = 9while var > 0: var = var -1 if var == 4 or var == 7: continue print('current value

2018-01-31 18:15:11 365

原创 经典排序算法:堆排序(python)

原理:堆排序是指利用堆(最大堆、最小堆)这种数据结构所设计的一种排序算法。其中堆是一种完全二叉树的结构,并满足子结点的键值或索引总是小于(或者大于)它的父结点。 用最大堆排序的基本思想:堆排序从最大堆的顶部不断取走堆顶元素放到有序序列中,直到堆的元素被全部取完。 算法过程: (1)、建堆:从len/2到第一个节点0处一直调用调整堆的过程,其中len为数组长度,len/2表示节点深度。

2018-01-26 15:28:20 544

原创 经典排序算法:归并排序(python)

原理:归并排序也是采用分治法,它将待排序序列分为若干个子序列,先使每个子序列有序,然后再将已有有序子序列合并为整体有序序列。 算法分为两步:递归和合并 (1)、递归:先把待排序数组以中点二分,接着把左边子数组继续二分,再把右边子数组继续二分,直到数组长度小于等于1,最后把左子数组和右子数组合并为有序的区间,合并步骤见(2)。 (2)、合并:比较左子数组a[i]和右子数组b[j]的元素,若a[i

2018-01-25 15:24:07 400

原创 经典排序算法:快速排序(python)

原理:快速排序是一种交换类排序,是对冒泡排序的一种改进,是分治法的经典表现。首先通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 算法具体步骤: (1)、挑选一个元素作为基准key,一般取第一个元素; (2)、设置两个变量i、j,分别代表

2018-01-25 14:43:48 218

原创 查找算法:二分查找(python)

原理:二分查找又称折半查找,binary search,是一种效率较高的查找方法。该算法将数组的中间元素与查找元素进行比较,如果相等,则查找结束; 如果查找元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半数组中查找,而且也是从中间元素开始比较,重复以上过程,直到找到满足条件的结果。 如果在某一步骤中数组为空,则表示找不到。该查找算法每一次比较都使搜索范围缩小一半。代码:

2018-01-22 20:23:11 1775

原创 天池比赛:o2o优惠券使用预测

一、比赛背景O2O:全称Online To Offline,线上线下电子商务,是把线上的消费者带到现实的商店中去:在线支付线下商品、服务,再到线下去享受服务。通过打折(例如团购)、提供信息、服务(例如预定)等方式,把线下商店的消息推送给互联网用户,从而将他们转换为自己的线下客户。这样线下服务就可以用线上来揽客,消费者可以用线上来筛选服务,还有成交可以在线结算。通俗点说,你在网上买个优惠券去麦当劳消费

2018-01-22 16:45:40 3494 2

原创 MySQL数据类型

一、简介每个变量、常量和参数都具有数据类型,用于指定一定的存储格式、约束和有效范围。MySQL主要提供数值型、日期时间类型和字符串类型的数据类型。二、数值类型

2018-01-12 18:26:09 166

原创 Sklearn数据预处理:scale, StandardScaler, MinMaxScaler, Normalizer

一、标准化去除均值和方差缩放:通过(X-X_mean)/std计算每个属性(每列),进而使所有数据聚集在0附近,方差为1.(1)、sklearn.preprocessing.scale() 直接将给定数据进行标准化from sklearn import preprocessingimport numpy as npX = np.array([[ 1., -1., 2.],[ 2., 0.,

2018-01-12 14:09:19 20747

原创 MySQL基本操作

一、简介MySQL是由David Axmark、Allan Larsson和Michael Widenius3个瑞典人于20世纪90年代开发的一个关系型数据库管理系统,主要用于存储和管理数据。所谓关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据;它将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这增加了速度并提高了灵活性。 MySQL

2018-01-11 10:48:20 236

原创 pandas数据新索引:reindex

DataFrame.reindex(labels=None, index=None, columns=None, axis=None, method=None, copy=True, level=None, fill_value=nan, limit=None, tolerance=None)常用关键参数:method:插值填充方法fill_value:引入缺失数据值columns

2018-01-10 14:34:45 565

原创 pandas数据索引:loc、iloc和ix

1、loc通过行标签索引行数据 (1)、loc[‘d’]:获取第’d’行数据import pandas as pd data = [[1,2,3],[4,5,6]] index = [‘d’,'e'] columns=['a','b','c'] df = pd.DataFrame(data=data, index=index, columns=columns)

2018-01-08 14:06:10 449

原创 pandas数据分组运算:groupby

groupby:pandas中最为常用的分组函数(1)、按列分组import pandas as pdimport numpy as npdf = DataFrame({'key1':['a','a','b','b','a'],'key2':['one','two','one','two','one'],'data1':np.random.randn(5),'data2':np.random.r

2018-01-08 11:29:04 5139

空空如也

空空如也

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

TA关注的人

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