1. 需求说明
目前,我国电子商务行业发展迅速,规模不断扩大,促使日常生活中网购盛行,各个电商平台竞争激烈,通过构造消费者反馈机制,使得消费者反馈通畅,消费者评论蕴含丰富信息,充分挖掘这类信息,有利于提升电商平台自身的运营竞争力,为用户的选购及厂商的改进提供改善建议。
从京东商城通过网络爬虫获取的商品评论数据需要进行预处理,因此需要将评论数据上传到HDFS上。以下是商品评论Json数据。
2. 作业要求
要求每位学生通过HDFS Shell命令和Java API编程两种方式将已经爬取的京东商城商品评论数据上传到HDFS指定目录中,具体实现功能如下:
(1)通过HDFS Shell命令上传京东商城评论数据。
任务一:在HDFS创建目录 命令: hdfs dfs -mkdir /jdgoods hdfs dfs -ls /jdgoods/comments 运行结果: 任务二:上传商品评论数据到HDFS 命令: hdfs dfs -put /data/jdd /jdgoods 运行结果: |
(2)通过HDFS提供的Java API编程上传京东商城评论数据。
源代码:
import java.io.IOException;
import java.net.URISyntaxException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class hadooptest01 {
public static void main(String[] args) {
Configuration conf = new Configuration();
String hdfsUri = "hdfs://hadoop01:9000"; // 替换为你的HDFS URI
String localFilePath = "C:\\Users\\Administrator\\Desktop\\实验和作业数据\\京东商品评论数据\\jdd2"; // 替换为本地文件路径
String hdfsDirectory = "/jdgoods/comments/"; // 替换为HDFS目标目录
try {
conf.set("fs.defaultFS", hdfsUri);
FileSystem fs = FileSystem.get(conf);
Path localPath = new Path(localFilePath);
Path hdfsPath = new Path(hdfsDirectory);
fs.copyFromLocalFile(localPath, hdfsPath);
fs.close();
System.out.println("文件上传成功!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行结果: |