网站设计 培训,南京玄武区建设局网站,网站跳出率 报告,django网站开发实例pdf大数据处理与应用#xff08;Hive技术#xff09;(0/100分)
1.本地开发工具连接Hadoop集群
1.本次环境版本为Hadoop2.7.7#xff0c;对应eclips插件存放于云主机master:/usr/package277/中。 2.本机映射名为hadoop000#xff0c;云主机Hadoop/Hive的hosts文件中IP需要修改…大数据处理与应用Hive技术(0/100分)
1.本地开发工具连接Hadoop集群
1.本次环境版本为Hadoop2.7.7对应eclips插件存放于云主机master:/usr/package277/中。 2.本机映射名为hadoop000云主机Hadoop/Hive的hosts文件中IP需要修改为内网IP需要修改为实际内网IP服务器地址有内外网之分本地eclipse所在主机需要使用外网IP设置映射 Linux/Mac系统下文件地址/etc/hosts Windows系统下文件地址C:\Windows\System32\drivers\etc\hosts
2.云主机搭建的Hadoop集群集群之间通过内网通信本地eclipse开发工具需要使用域名进行访问。
Hadoop配置文件是以内网IP作为机器间通信的IP。在这种情况下,我们能够访问到namenode机器namenode会给我们数据所在机器的IP地址供我们访问数据传输服务但是当写数据的时候NameNode和DataNode是通过内网通信的返回的是datanode内网的IP,我们无法根据该IP访问datanode服务器。将默认的通过IP访问改为通过域名方式访问。
// 使用hdfs的fs功能客户端就会访问core-site.xml配置文件
// 设置客户端访问datanode使用hostname来进行访问
conf.set(dfs.client.use.datanode.hostname, true);
// 设置core-site.xml中的属性fs.defaultFS和属性值注意主机名必须和设置的hosts主机名一致
conf.set(fs.defaultFS,hdfs://hadoop000:9000);2.Hive安全配置 (20 / 20分)
为了大数据集群稳定性类似非全等join非inner join是禁止的禁用了SemanticException笛卡尔产品。
FAILED: SemanticException Cartesian products are disabled for safety reasons. If you know what you are doing, please sethive.strict.checks.cartesian.product to false and that hive.mapred.mode is not set to ‘strict’ to proceed. Note that if you may get errors or incorrect results if you make a mistake while using some of the unsafe features.
hive set hive.strict.checks.cartesian.product;
# 首先查看hive.strict.checks.cartesian.product
hive set hive.strict.checks.cartesian.productfalse;
# 设置hive.strict.checks.cartesian.product为false本次环境为单节点伪集群环境环境中已经安装JDK1.8、Hadoop2.7.7、Mysql5.7、hive2.3.4。---1.环境中已经安装/root/software/hadoop-2.7.7格式化HDFS开启集群查看集群状态。HDFS端口为9000其他端口默认
# 对文件系统进行格式化
hadoop namenode -format
# 启动Hadoop集群查看各节点服务
start-all.sh yes2.环境中已经安装/root/software/apache-hive-2.3.4-bin需要开启mysql服务初始化数据库即可开启Hive客户端。# 开启mysql服务
systemctl status mysqld
systemctl start mysqld# 初始化数据库启动metastore服务
schematool -dbType mysql -initSchema
hive --service metastore # 进入hive创建hive数据库
hivecreate database hive;本步骤用于开启集群环境用于后续数据分析Hadoop Mapreduce/Hive使用。区域热门商品分析 (80 / 80分)
项目背景
本项目针对电商网站运营对每个领域用户关心的商品进行统计分析支持用户决策。分析各区域对产品的不同需求进行差异化研究例如A地区用户喜欢电子B地区用户喜欢汽车。
需求分析
1.热门商品即通过用户对商品的点击量来衡量商品热度。 2.如何获取区域信息数据
通过用户点击日志获取访问IP进而获取区域信息。 通过数据库中的订单关联用户表获取用户的地域信息
数据说明
product商品表/root/shop/product.txt
列名product_idproduct_namemarquebarcodepricebrand_idmarket_pricestockstatus描述商品号商品名称商品型号仓库条码商品价格商品品牌市场价格库存状态数据类型stringstringstringstringdoublestringdoubleintint
补充说明:
status: 下架-1上架0预售1area地区信息表:/root/shop/area.txt
列名area_idarea_name描述地区编号地区名称数据类型stringstring
user_click用户点击信息表:/root/shop/user_click.txt
列名user_iduser_ipurlclick_timeaction_typearea_id描述用户ID用户IP用户点击URL用户点击时间动作名称数据类型stringstringstringstringstringstring
补充说明:
action_type: 1 收藏2 加购物车3 购买
area_id:这里的地区信息已经通过IP地址user_ip进行解析clicklog用户点击商品日志表表:
列名 user_id user_ip product_id click_time action_type area_id 描述 用户ID 用户IP URL解析对应商品ID 用户点击时间 动作名称 地区ID 数据类型 string string string string string string 补充说明
根据user_click中用户点击URL进行解析得到product_id
示例URL数据http://mystore.jsp/?productid1中product_id为1area_hot_product区域热门商品表:
列名 area_id area_name product_id product_name pv 描述 地区ID 地区名称 商品ID 商品名称 访问量 数据类型 string string string string BIGINT
# 1. 进入Hive客户端创建shop数据库前提开启Hadoop集群
create database shop;
# 创建商品表product并上传本地数据至表内
use shop;CREATE TABLE product(product_id string,product_name string,marque string,barcode string,price double,brand_id string,market_price double,stock int,status int
)row format delimited fields terminated by ,;
# 上传本地数据至表内
LOAD DATA LOCAL INPATH /root/shop/product.txt INTO TABLE product;# 3.创建地区表area并上传本地数据至表内
CREATE TABLE area(area_id string,area_name string
)row format delimited fields terminated by ,;
# 上传本地数据至表内
LOAD DATA LOCAL INPATH /root/shop/area.txt INTO TABLE area;# 4.创建用户点击信息user_click并上传本地数据至表内
CREATE TABLE user_click(user_id string,user_ip string,url string,click_time string,action_type string,area_id string
)row format delimited fields terminated by ,;
# 上传本地数据至表内
LOAD DATA LOCAL INPATH /root/shop/user_click.txt INTO TABLE user_click;# 5.创建用户点击商品日志表clicklog解析user_click用户点击信息表中的product_id
CREATE TABLE clicklog(user_id string,user_ip string,product_id string,click_time string,action_type string,area_id string
)row format delimited fields terminated by ,;# 解析user_click用户点击信息表中的product_id
SELECT parse_url(concat(url),QUERY,productid) as product_id FROM user_click;# 将查询结果 插入clicklog
INSERT INTO TABLE clicklog
SELECT user_id, user_ip, parse_url(concat(url),QUERY,productid) as product_id, click_time,action_type,area_id FROM user_click;# 6.创建结果分析区域热门商品表area_hot_product,统计各地区热门商品访问量pvCREATE TABLE area_hot_product(area_id string,area_name string,product_id string,product_name string,pv BIGINT
)row format delimited fields terminated by ,;# 将查询结果 插入clicklog
INSERT INTO TABLE area_hot_product
SELECT collect_set(c.area_id)[0] as area_id, collect_set(a.area_name)[0] as area_name, collect_set(c.product_id)[0] as product_id, collect_set(p.product_name)[0] as product_name, COUNT(c.user_id) as pv
FROM clicklog c
JOIN area a ON c.area_id a.area_id
JOIN product p ON c.product_id p.product_id
GROUP BY a.area_id, p.product_id;# 7.查询表area_hot_product全部数据结果写入本地目录/root/data/shop/area_hot_product
INSERT OVERWRITE LOCAL DIRECTORY /root/data/shop/area_hot_product
ROW FORMAT DELIMITED FIELDS TERMINATED BY ,
SELECT * FROM area_hot_product;