全国大学生大数据技能竞赛 | 学习日记

比赛项目

相关软件下载

链接:https://pan.baidu.com/s/1W4rVk5D4Zp3nEn7iyXnlsQ 
提取码:rdyo

Hadoop技术

2.1 Liunx 系统环境准备

3月份白嫖的阿里云ECS云服务器终于有用了,ubuntu 16.04 64bit,开始搭环境

都是一些基本的命令,如果以前 Linux 用得少按课程资料照猫画虎也行

2.2 HDFS伪分布式集群搭建

HDFS 是负责海量数据的存储,集群中的角色主要有 NameNode / DataNode

伪分布是因为只有一台云主机,以后看看有什么项目能用到真框架吧

首先是安装 hadoop,用了网盘里的版本,据说和比赛的匹配

然后就开始按课程资料一步步配置文档,有些地方按自己的想法改着做了,没出问题

就是我 vim 还用得比较蹩脚,快捷键记不住哈哈

2.3 YARN 伪分布式集群搭建

负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager

配置过程同上,没啥好说的

附启动集群成功截图一张:

2.4 Hadoop 集群初体验

因为是 SSH 到云服务器上的,好像没映射其他端口,看不到 UI 界面

这节课主要就是让我们用 hadoop 的样例程序体验一下分布式计算过程,也没啥好说的

数据仓库hive

Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类 SQL 查询功能, Hive 底层是将 SQL 语句转换为 MapReduce 任务运行。

(1)Hive 处理的数据存储在 HDFS;

(2)Hive 分析数据底层的实现是 MapReduce,利用 MapReduce 查询数据;

(3)执行程序运行在 YARN 上。

2.1 Hive 内嵌模式安装

内嵌模式:将元数据保存在本地内嵌的 Derby 数据库中,这是使用 Hive 最简单的方式。但是这种方式缺点也比较明显,因为一个内嵌的 Derby 数据库每次只能访问一个数据文件,这也就意味着它不支持多会话连接。

按照课程资料给定流程安装,注意在同一个目录下同时只能有一个 Hive 客户端能使用数据库

输入 hive 有反馈即连接成功(注意 hive 是基于 hadoop 的,所以事先要在该目录下启动集群 start-dfs.sh start-yarn.sh )

2.2 Hive 本地模式安装

这种模式是将元数据保存在本地独立的数据库中(一般是 MySQL),这种方式是一个多用户的模式,运行多个用户 Client 连接到一个数据库中。这种方式一般作为公司内部同时使用 Hive。 这里有一个前提,每一个用户必须要有对 MySQL 的访问权利,即每一个客户端使用者需要知道 MySQL 的用户名和密码才行。

首先安装 MySQL,由于用的是云服务器(Ubuntu 16.04 64bit),用不了课程资料中的 rpm 包,以下是用 apt 的半自动安装步骤:

(1)更新 apt-get > sudo apt-get update

(2)安装服务端 > sudo apt-get install mysql-server

会有一个界面要求设置密码

(3)安装客户端 > sudo apt-get install mysql-client

(4)安装链接库 > sudo apt-get install libmysqlclient-dev

配置和启动流程和课程资料一致,包括:

  1. 初始化 MySQL 的数据库

  2. 启动 MySQL 服务

  1. 登录 MySQL

  1. 重置 MySQL 密码

  2. 增加远程登录权限

然后要把 Hive 元数据配置到 MySQL

3.1 驱动拷贝

将/root/software目录下的 MySQL 驱动包 mysql-connector-java-5.1.47-bin.jar 拷贝到 ${HIVE_HOME}/lib 目录下。

3.2 配置 Metastore到MySQL

同样按课程资料操作

3.3 初始化元数据库

中途报错了一次,重写了一次配置文件修复了

3.4 Hive 连接

注意启动 Hive 之前要先启动 Hadoop

爬虫技术

Python Requests lib

...

原文地址:https://www.cnblogs.com/zhwer/p/13098025.html