Home

一起学爬虫——urllib库常用方法用法总结

1、读取cookies import http.cookiejar as cj,urllib.request as request cookie = cj.CookieJar() handler = request.HTTPCookieProcessor(cookie) opener = request.build_opener(handler) response = opener.open('http://www.bigdata17.com') for item in cookie: print(item.name + "=" + item.value) 2、将cookies保存在文件中 filename = 'baidu_cookies.txt' cookies ...

Read more

一起学Python——数据类型详解

和学习其他编程语言一样,首先要了解一门语言的数据类型。 Python的数据类型有整型、浮点型、字符串、布尔型、日期时间类型、list列表、set集合、tuple元组、dict词典等。 1、整型 就是数学中的整数,包括负整数。 定义整型的方法: a = 100 b = -100 print(a) print(b) 结果: 100 -100 Python定义变量的语法和其他的编程语言不一样,例如Java定义整型变量的语法:int a = 10; Python是根据你的变量的值来确定变量的类型。 a = 12就是整型,a = “abc”就是字符串。 2、浮点型 就是数学中的小数。例如: a = 12.3 print(a) 变量a为浮点型。如果浮点变量的值很多或者很小,则建议...

Read more

一起学HBase——总结HBase中的PUT、GET、DELETE操作

传统的关系型数据库有CRUD增删改查操作,同样对于NoSQL列式数据库也有CRUD操作。本文对HBase中常用的Scan、GET、PUT、DELETE操作的用法做个总结。 Put操作 Put相当于传统数据库的add操作,就是在数据库中添加一条或多条记录。 Put操作分为两类,一类是一次操作一条记录,另外一类是一次操作多条数据。 HBase提供一个Put类,通过该类的对象就可以在HBase中添加数据。 Put类提供的构造函数如下: Put(byte[] row) Put(byte[] row,RowLock rowLock) Put(byte[] row,long ts) Put(byte[] row,long ts,RowLock rowLock) 通过上面的构造...

Read more

一起学HBase——简单介绍HBase各种组件

HBase是谷歌BigTble的开源实现。谷歌的三篇论文拉开了大数据江湖的序幕,铸就了现在以Hadoop为主的大数据技术生态圈。而HBase是开源的大数据数据库,和传统的行式数据库不同的是,HBase是列式数据库。列式数据的特点是开源横向扩展,将一张表的数据存储在hadoop集群的不同datanode中,一张表的存储量可以达到T级别。这是行式关系型数据库无法实现的。本文主要讲解HBase的基本概念,只有概念清楚了才能更好的在我们的系统中使用HBase。 核心组件介绍 Table:可理解为传统数据库中的一个表,但因为SchemaLess的设计,它较之传统数据库的表而言,在设计上更加灵活。 Region:将表横向切割为一个个子表,子表在HBase中被称之为Region。 Regio...

Read more

一起学Hive——总结常用的Hive优化技巧

今天总结本人在使用Hive过程中的一些优化技巧,希望给大家带来帮助。Hive优化最体现程序员的技术能力,面试官在面试时最喜欢问的就是Hive的优化技巧。 技巧1.控制reducer数量 下面的内容是我们每次在hive命令行执行SQL时都会打印出来的内容: In order to change the average load for a reducer (in bytes): set hive.exec.reducers.bytes.per.reducer=<number> In order to limit the maximum number of reducers: set hive.exec.reducers.max=<number> In ...

Read more

一起学Hive——总结复制Hive分区表结构和数据的方法

在使用Hive的过程中,复制表结构和数据是很常用的操作,本文介绍两种复制表结构和数据的方法。 1、复制非分区表表结构和数据 Hive集群中原本有一张bigdata17_old表,通过下面的SQL语句可以将bigdata17_old的表结构和数据复制到bigdata17_new表: CREATE TABLE bigdata17_new AS SELECT * FROM bigdata17_old; 如果是分区表,则必须使用like关键字复制表结构,包括分区,然后用insert语句将老表的数据插入新表中。 2、复制分区表表结构和数据 复制表SQL: CREATE TABLE bigdata17_new like bigdata17_old; 复制数据sql: insert ove...

Read more

总结学习机器学习过程中用到的数据学知识

现在机器学习行业持续加温,应届毕业生年薪持续走高,2019年毕业生算法岗年薪40万起,上不封顶,吸引着越来越多的人想往机器学习方向转。但是刚接触到算法时,看到那些数学公式都望而生畏,特别是公式的推导。今天本文就介绍机器学习会用到哪些数学知识,让那些想往机器学习方向转的同学心里有底,知道学习的方向。 数学是机器学习的内功。作为机器学习的基石,数学知识无论如何是绕不开的,机器学习中大量的问题最终都可以归结为求解最优化问题,微积分、线性代数是最优化方法和理论的基础,很多机器学习算法的建模涉及到概率论,由此可见学好数学知识多么必要。不少准备或刚刚迈入机器学习的同学,在面临数学基础的学习时,会遇到两个问题: 不知道机器学习和深度学习到底要用到哪些数学知识 无法真正理解这些数学知识,...

Read more

一起学Hive——使用MSCK命令修复Hive分区

最近在使用Hive的过程中,在备份数据时,经常会使用cp或mv命令来拷贝数据,将数据拷贝到我们新建备份表的目录下面,如果不是分区表,则上面的操作之后,新建的备份表可以正常使用,但是如果是分区表的,一般都是使用alter table add partition命令将分区信息添加到新建的表中,每添加一条分区信息就执行一个alter table add partition命令,如果分区数量少还好办,但是遇到分区数量多的情况,特别是分区数量大于50的情况,如果还是使用alter命令添加分区,那是一件耗时耗力的事情,还容易出错。 幸运的是Hive提供了MSCK命令,用于修复表的分区,我们先看Hive官方是如果介绍MCSK命令的: Hive stores a list of partiti...

Read more

一起学Hive——总结各种Join连接的用法

Hive支持常用的SQL join语句,例如内连接、左外连接、右外连接以及HiVe独有的map端连接。其中map端连接是用于优化Hive连接查询的一个重要技巧。 在介绍各种连接之前,先准备好表和数据。 employee员工表: create table if not exists employee( user_id int, username string, dept_id int) row format delimited fields terminated by ' ' lines terminated by '\n'; dept部门表: create table if not exists dept( dept_id int, dept_name string ) ro...

Read more

机器学习100天——实现简单线性回归(第二天)

线性回归算法的作用是使用单一特征来预测响应值。是一种根据自变量X预测因变量Y的方法。假设两个变量是线性相关的,那么我们要找到一个线性函数,根据特征或自变量X来精确预测响应值Y。 如何找到最佳拟合线 在这个回归模型中,我们尝试通过寻找最佳拟合线来最小化预测的误差——根据线性回归预测的结果误差最小。我们尝试最小化观察值和预测值之间的长度,长度越小,误差就越小,反之亦然。 我们将使用一个根据学生花费在学习上的小时数预测他们分数的百分比的例子学习如何使用线性回归模型。请看下图: 线性回归模型为: $ y = b_0 + b_1x_1$ 将上图中的自变量和因变量代入到上面的模型中,则变为: $ Score = b_0 + b_1 * hours $ 线性回归其实就是解一元一次方程,求出...

Read more