栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

大数据预处理

大数据预处理

目录
  • 1 数据提供
  • 2 查看数据
  • 3 数据扩展
  • 4 数据过滤
  • 5 数据上传


1 数据提供

为了保证实践的真实性,本章为读者提供了一个较大的数据文件,即sogou.500w.utf8,该文件是大数据领域很有名的一个供研究用的数据文件,内容是sogou网络访问日志数据,该文件被众多研究和开发人员所采用。
找到sogou.500w.utf8文件,将其复制到Master的“/home/csu/resources/”目录(或者读者自己的任意目录)下。以下的大部分操作均围绕该数据文件进行。

2 查看数据

less sogou.500w.utf8

wc -l sogou.500w.utf8


按下Enter键后系统显示“5000000 sogou.500w.utf8”,可见文件确实有500万行。Linux中“wc”命令的功能是统计指定文件中的行数、字数、字节数,并将统计结果显示输出。参数“-l”表示统计行数,“-w”表示统计字数,“-c”表示统计字节数。

head -1000 sogou.500w.utf8 >sogou.1000.utf8

按下Enter键后可得到一个有1000行数据的文件sogou.1000.utf8(文件名由用户自己决定,可以是任意的名字,如sogou.demo)。读者也可以查看一下新文件的内容或行数。

3 数据扩展

很多时候用户希望扩展现有文件,例如增加新的字段,以便容纳更多的内容。下面我们就来扩展sogou.500w.utf8文件,增加年、月、日、小时4个新字段,扩展后的文件就有10个字段了。

#!/bin/bash
#infile=/data/sogou-data/sogou.500w.utf8
infile=$1
#outfile=/data/sogou-data/sogou.500w.utf8.final
outfile=$2
awk -F 't' '{print $0"t"substr($1,0,4)"t"substr($1,4,2)"t"substr($1,6,2)"t"substr($1,8,2)}' $infile > $outfile

./sogou-log-extend.sh sogou.500w.utf8 sogou.500w.utf8.ext

less sogou.500w.utf8.ext

4 数据过滤
#!/bin/bash
#infile=/data/sogou-data/sogou.500w.utf8
infile=$1
#outfile=/data/sogou-data/sogou.500w.utf8.final
outfile=$2
awk -F"t" '{if($2 != "" && $3 != "" && $2 != " " && $3 != " ") print $0}' $infile > $outfile
5 数据上传

由于要在Hadoop大数据平台上工作,所以需要将上述数据文件上传到HDFS中。首先确保已经启动了Hadoop,接下来在HDFS上创建“/sogou”目录,执行“hadoop fs -mkdir /sogou”命令;最后创建“20211103”子目录,命令是“hadoop fs –mkdir /sogou/20211103”。


hadoop fs -put ~/resources/sogou.500w.utf8 /sogou/20211103/

hadoop fs -mkdir /sogou_ext
hadoop fs -mkdir /sogou_ext/20211103
hadoop fs -put ~/resources/sogou.500w.utf8.flt /sogou_ext/20211103/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/439222.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号