填空题
完善代码:from [ 填空 ] import BeautifulSoup
bs4
MongDB数据库是一个年轻的()数据库产品,其稳定性不及传统的正MySQL数据库。
非结构化

















判断题
Xpath表达式中使用text()函数可以提取出定位到的子节点及其子孙节点下的全部文本
False
chardet库可以检测给定字符串的编码
True
Cookie由服务器进行保存
False















多选题
针对反爬机制,可采用的策略有:( )
发送模拟User-Agent,
调整访问频度,
通过验证码校验,
通过代理IP规避
网络面板可用于( )
查看页面加载时读取的各项资源
查看资源的头部信息、预览、响应信息等













单选题
关于LWPCookieJar对象,下列说法错误的是( )。
FileCookieJar 是LWPCookieJar的子类
目前多数网站允许将爬虫爬取的数据用于( )
个人使用或科学研究
( ) 是指,如果一个IP在单位时间内的访问频度超过预设的阈值,网站将会对该IP做出访问限制
访问频度反爬
( )属于通用网络爬虫常用的爬取策略
深度优先搜索
div标签表示的是( )
块标签
Chrome的开发者工具中哪个选项可以查找到cookies
Network




































Python部分结尾
Hadoop数据分析
内部表和外部表区别
内部表类似于RDMBS中的表,由Hive管理,外部表指向已经存在HDFS中的数据,与内部表元数据组织是相同的,但其数据存放位置是任意的,外部表的真实数据不被Hive管理,即当删除一张内部表时,元数据以及HDFS上的真实数据均会被删除,而删除外部表则只会删除元数据而不会删除真实数据
视图的概念以及运用场景
视图是隐藏了子查询,连接查询等操作简化后的逻辑结构,它由数据库的真实表中选取出来的数据组成,是一个与真实表不同的虚拟表.视图只保存定义而不存储数据,行和列的数据均来自视图所引用的表,它们将在使用视图时动态生成,如果引用的表列被删除,则会造成视图的错误
对于一些真实表而言,它们不希望未授权的用户查看具有特殊安全性的行或列,此时可以通过建立视图,选取能提供给用户的列,并授权用户查看
常用的聚合函数以及功能
max(col):返回组内某列中最大的值
min(col):返回组内某列中最小的值
count(*):返回组内总行数,包括值为NULL的行
count(expr):返回组内expr表达式不是NULL的总行数
sum(col):返回组内某列元素的总和
avg(col):返回组内某列元素的平均值
collect_set(col):返回消除了重复元组的数据
collect_list(col):返回允许存在重复元素的数组
Hive的概念以及使用场景
- Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,同时可以将SQL语句转化为MapReduce作业进行运行
- Hive适用于非结构化数据离线分析统计场合
- Hive的执行延迟比较高,因此适用于对实时性要求不高的场合
- Hive的优势在于处理大数据,因此适用于大数据(而非小数据)处理的场合
Hive的索引目的是提高Hive表指定列的查询速度
创建一个外部表或内部表,加载数据
#外部表的创建以及加载数据create external table if not exists student(name string,id bigint,sex string,)row format delimited fields terminated by ',';#分隔符load data inpath '/test/test_01' into table test_01;#加载数据
#内部表的创建以及加载数据create table if not exists student(name string,id bigint,sex string,)row format delimited fields terminated by ',',#分隔符load data inpath 'text/text_02' into table text_02;#加载数据
hive表的分类
1.内部表
2.外部表
3.分区表
为表建立分区(可以是内部表,也可以是外部表),将表分为多个分区,查的时候,去具体的一个小分区中去查,速度更快。分区表实际上将表文件分成多个有标记的小文件以方便查询
4.桶表
分区表是将大文件划分为多个小文件以利于查询,但会出现数据分布不均衡,影响效率。桶表对hive指定列hash取余,相同余值列放入同一个文件夹,数据分布就更加均衡。
ps:桶表专门用于抽样查询,不是日常用来存储数据的表,在需要抽样查询是,才创建和使用桶表
hive数据类型
基本数据类型
hive中的基本数据类型也称为原始数据类型,包括整数,小数,文本,布尔,二进制以及时间类型
整数:tinyint,smallint,int,bigint
小数:float,double,decimal
文本:string,char,varchar
布尔:boolean
二进制:binary
时间:date,timestamp,interval
复杂数据类型
1,array和map
ARRAY是具有相同类型变量的集合,这些变量称为数组的元素,每个数组元素都有一个索引编号,编号从0开始
MAP是一组键值对集合,key只能是基本类型,值可以是任意类型
STRUCT封装了一组有名字的字段,其类型可以是任意的基本类型,结构体内的元素使用”.”来访问
UNIONTYPE 在给定的任何一个时刻,UNIONTYPE类型可以保存指定数据类型中的任意一种,其类似于Java中的泛型,在任一时刻只有一个类型生效
Hive的部署模式(内嵌、本地、远程)
内嵌模式
内嵌derby数据库(一个会话连接,常用于简单测试)derby是个in-memory的数据库。
单用户模式(MySQL)
就是客户端和服务端在一个节点上通过网络连接到一个数据库,是最经常使用的一种模式
多用户模式
客户端node04和服务端node02分布在不同的节点上,客户端通过远程的方式连接。
客户端node04节点操作,基本和服务端差不多操作,区别是他不需要初始化。
详细链接


















































