• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

spark,scala的互联网广告预测和

武飞扬头像
计算机软件设计
帮助1

学新通

1.步骤一:数据预处理
本节介绍步骤一的各项操作,包括下载数据集、使用IDEA创建基于SBT的scala项目、编写代码调用Spark进行数据预处理。在本实践步骤完成之前请先完成第零个步骤实验环境准备。这里假设你已经完成了第零个步骤。
1.1 数据集介绍
本实验使用数据集取自阿里云天池大数据竞赛上提供的数据集。下载地址(https://tianchi.aliyun.com/datalab/dataSet.html?spm=5176.100073.0.0.1e2035eeWRiVsd&dataId=56)。该数据集提供了四张表,这里只使用了raw_sample、ad_feature、user_profile这三张表。请下载这有关这三张表的压缩文件。
关于这三张表的信息,官网上已经给出了详细的描述,这里就不再给出详细的描述。
关于这三张表简单的结构关系如图所示。

图中橘色字段为本实验主要用到的字段,蓝色,紫色部分为对应的表之间连接字段.
为了在后面实验中对用户点击行为进行预测,本实验对原始数据进行处理,构建训练集合和测试集合(主要是根据时间进行划分:2017年5月6日 - 12日这7天的数据做训练样本,5月13日这一天数据做测试样本)。
提取的特征如表1-1所示

通过wget命令将数据下载至/home/user/Case1目录下,并通过一下命令对数据进行查看进行查看。
拷贝代码#创建目录
mkdir /home/user/Case1/
#切换到数据存放目录
cd /home/user/Case1/
#下载数据
wget wget http://file.ictedu.com/start/bittest/data/Case1.tar.gz
#解压数据
tar -vxf Case1.tar.gz
#查看数据前五条
head -5 raw_sample.csv
可以看到前5行记录:

执行如下命令查看user_profile表数据。
拷贝代码head -5 user_profile.csv
可以看到前5行记录。

1.2 使用IDEA创建构建基于SBT的Scala项目
IDEA创建基于SBT的Scala项目,项目命名建议命名aliadclickpredict。
Scala在/home/user/bigdata/下
.步骤三:Hive数据分析并将分析结果导入到MySQL
本节将对原始数据集进行分析,用到了所有的数据,包括三张表,所以请一定务必下载好,并解压出csv文件。本节接下来的处理过程大体是:把原始数据集上传到Hive数据仓库、使用HiveQL对数据集分析、使用Sqoop迁移Hive中的数据到MySQL。在本实践步骤开始之前请先完成本教程的前三个实验步骤。这里假设你已经完成了前三个实验步骤。
3.1将原始数据集上传到Hive
a. 启动Hive。
首先,启动Hadoop,执行如下命令:
cd /usr/local/hadoop
./sbin/start-dfs.sh
然后,执行jps命令看一下当前运行的进程:
Jps
如果出现下面这些进程,说明Hadoop启动成功了。
3765 NodeManager
3639 ResourceManager
3800 Jps
3261 DataNode
3134 NameNode
3471 SecondaryNameNode
Hive的元数据信息依赖于MySQL的存储,执行如下命令启动MySQL:
拷贝代码service mysql start
进入hive客户端
进入Hive的安装目录,执行如下命令启动Hive-Shell
拷贝代码cd /home/user/bigdata/apache-hive-2.3.4-bin/
./bin/hive
创建数据库和表
创建数据库 aliclick
拷贝代码create database aliclick;
use aliclick;
在数据库aliclick中分别创建表rawsample,userprofile,adfeature对应原始数据集中的raw_sample.csv、user_profile.csv、ad_feature.csv。
新建三张内表,执行命令如下。
拷贝代码create table if not exists aliclick.rawsample(userid int, time_stamp int, adgroup_id int, pid string, noclk int, clk int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’;

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgkhgfa
系列文章
更多 icon
同类精品
更多 icon
继续加载