大数据预处理

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据预处理

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”。

abc280e4e4004221ae98d33b28b11942.png

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/


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
6月前
|
数据采集 监控 安全
数据预处理
【2月更文挑战第25天】
|
3月前
|
机器学习/深度学习 数据采集 算法
|
6月前
|
机器学习/深度学习 数据采集 算法
DataFrame 与机器学习:数据预处理与特征工程
【5月更文挑战第19天】数据预处理(如处理缺失值、标准化)和特征工程对机器学习模型的性能至关重要。使用`pandas`进行缺失值填充,`StandardScaler`实现数据标准化,通过创建新特征(如从日期提取月份、对数变换价格)和特征组合增强信息。相关性分析帮助选择重要特征,提升模型准确性和泛化能力。灵活运用这些方法能有效提升模型性能。DataFrame简化了数据操作,助力高效机器学习。
90 1
|
6月前
|
数据采集 机器学习/深度学习 算法
scikit-learn中的数据预处理:从清洗到转换
【4月更文挑战第17天】在机器学习中,scikit-learn是用于数据预处理的强大Python库,涵盖数据清洗和转换。数据清洗涉及处理缺失值(如使用SimpleImputer和IterativeImputer填充)和异常值,以及分类数据的编码(如标签编码和独热编码)。数据转换包括特征缩放(如StandardScaler和MinMaxScaler)和特征选择(过滤、包装和嵌入方法)。这些工具能提升数据质量,优化模型性能,但需根据具体问题选择合适方法。
|
6月前
|
数据采集 机器学习/深度学习 Python
掌握XGBoost:特征工程与数据预处理
掌握XGBoost:特征工程与数据预处理
457 3
|
6月前
|
数据采集 Python
数据清洗是数据预处理的重要步骤
数据清洗是数据预处理的重要步骤
77 0
|
机器学习/深度学习 数据采集 数据处理
数据预处理与特征工程:提升机器学习模型性能
在机器学习领域,数据预处理和特征工程是构建强大、准确的模型的关键步骤。这些步骤的正确实施可以显著提高模型的性能和鲁棒性。本文将探讨数据预处理和特征工程的重要性,以及一些常用的技术和策略,帮助您在构建机器学习模型时取得更好的结果。
399 0
|
机器学习/深度学习
一、特征工程
常用的特征工程方式?
126 0
一、特征工程
|
机器学习/深度学习 数据可视化 算法
特征工程之处理时间序列数据
特征工程之处理时间序列数据
306 0
特征工程之处理时间序列数据
|
数据采集 机器学习/深度学习 算法
这3个Scikit-learn的特征选择技术,能够有效的提高你的数据预处理能力
这3个Scikit-learn的特征选择技术,能够有效的提高你的数据预处理能力
108 0
这3个Scikit-learn的特征选择技术,能够有效的提高你的数据预处理能力