填空题

完善代码:from [ 填空 ] import BeautifulSoup
bs4

MongDB数据库是一个年轻的()数据库产品,其稳定性不及传统的正MySQL数据库。
非结构化

image.png

image.png

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

判断题

Xpath表达式中使用text()函数可以提取出定位到的子节点及其子孙节点下的全部文本
False

chardet库可以检测给定字符串的编码
True

Cookie由服务器进行保存
False

image.png

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

多选题

针对反爬机制,可采用的策略有:( )
发送模拟User-Agent,
调整访问频度,
通过验证码校验,
通过代理IP规避

网络面板可用于( )
查看页面加载时读取的各项资源
查看资源的头部信息、预览、响应信息等

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

单选题

关于LWPCookieJar对象,下列说法错误的是( )。
FileCookieJar 是LWPCookieJar的子类

目前多数网站允许将爬虫爬取的数据用于( )
个人使用或科学研究

( ) 是指,如果一个IP在单位时间内的访问频度超过预设的阈值,网站将会对该IP做出访问限制
访问频度反爬

( )属于通用网络爬虫常用的爬取策略
深度优先搜索

div标签表示的是( )
块标签

Chrome的开发者工具中哪个选项可以查找到cookies
Network
image.png

image.png

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

Python部分结尾

Hadoop数据分析

内部表和外部表区别

  1. 内部表类似于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的概念以及使用场景

  1. Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,同时可以将SQL语句转化为MapReduce作业进行运行

    1. Hive适用于非结构化数据离线分析统计场合
    2. Hive的执行延迟比较高,因此适用于对实时性要求不高的场合
    3. Hive的优势在于处理大数据,因此适用于大数据(而非小数据)处理的场合

Hive的索引目的是提高Hive表指定列的查询速度

创建一个外部表或内部表,加载数据

  1. #外部表的创建以及加载数据
  2. create external table if not exists student(
  3. name string,
  4. id bigint,
  5. sex string,)
  6. row format delimited fields terminated by ',';#分隔符
  7. load data inpath '/test/test_01' into table test_01;#加载数据
  1. #内部表的创建以及加载数据
  2. create table if not exists student(
  3. name string,
  4. id bigint,
  5. sex string,
  6. )
  7. row format delimited fields terminated by ',',#分隔符
  8. load data inpath 'text/text_02' into table text_02;#加载数据

hive表的分类

1.内部表

元数据被删,hdfs文件夹目录也被删除

2.外部表

元数据被删,hdfs文件夹目录文件不会被删

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节点操作,基本和服务端差不多操作,区别是他不需要初始化。
详细链接