首页 > 其他分享 >学习数据处理的三要点

学习数据处理的三要点

时间:2024-07-20 21:28:38浏览次数:10  
标签:Map 处理 MapReduce 学习 要点 数据处理 时候 数据

( 只是用MapReduce举例,只要是数据处理任何工具都可以从这三点去学习 )  用 MapReduce 做数据分析处理或统计等 这类和数据进行交互处理的编程计算可简单归纳出几个要点:

1.弄清要处理的数据进行程序的结构

首先第一个要弄清楚的就是你的程序读取进来的数据是什么样子的,是什么结构的,如果数据是什么样子的都弄不清楚,数据是什么结构也不清楚,那么数据处理员怎么去处理数据呢?你的程序编写头都开不起,我们平常的简单比如说Python的 数据处理,我们用pandas的read方法去读取数据,这个比较常用基本大数据人人都会的所以都知道 是 DataFrame,但是如果是比较罕见的框架呢?比如 MapReduce 呢?MapReduce在 网上大部分的教学都是直接给你讲他底层组件怎么怎么的噼里啪啦的,然后直接大致给你讲了底层分割数据的逻辑原理然后直接就是开始编程做数据处理,那么就会出现一个让人很懵逼的情况,这个数据读进行啥样?啥结构?大部分教学没给你确切的说明,那么这个时候第一要事要做的事情就是一定要搞明白他MapReduce程序后在哪一步长什么样子,是什么结构?是字符串呢?还是 DataFrame 或者 键值对呢?在进入 Map阶段时,它虽然几条数据组成的数据段,但是真实留进来的是一行一行的数据,结构是键值对结构,这个时候的key是进来的那个预处理组件自动给每行分配的序号一般情况用不上,要处理·的数据在value上,对Value提取数据(提取后的是字符串结构)。

下面这段是唠嗑,可以不看

有的教学直接给你丢个说这个 Map 阶段的数据啊进来后啊就是这样 “ abc

                                                                                                      bca

                                                                                                      cab",这个时候呢学员就有点无语了,讲组件的时候就说过了 会给每个机子分一部分数据,我就知道了是一部分数据啊,我问的是他进来我处理的是啥数据啊,这个时候呢讲的人可能就是支支吾吾不愿意讲的样子了,因为其实这些真实的东西不难,难的是讲者的故意误导,不知其目的,因为给学员讲知识的时候故意误导人让人学起来变得更困难,现实中其实我们经常能遇到这种事情,我初中的时候就被那个数学老师摆过一道,我那时候单纯还不知道世界上何为心机,他上课时经常故意不怎么讲,就和我们自学程序的时候遇到一些莫名其妙的教学者和莫名其妙的文章一样,我经常在课堂上发现那个数学老师讲课本知识的时候讲一半后就开始让我们自习,然后说那些东西没必要讲自己下课后去学弄清楚,结果真实的是每次考试发现他基本上要考的知识点都没有讲过,而且他讲的那些知识点经常都是 1+1 轻而易举就能学会的东西,根本不需要讲的他讲了,难的需要讲的他不讲,像不像铁子们学程序时候遇到的无语时刻,后来才无意间他透露了他在周末有那种补习课卖,班上那几个考的好的都买了的一节课100元,铁子们有没有在自学编程看教学的熟悉感,然后我就对那个老师经常和他唱反调,终于有一天他忍不住了动手打了我,闹班主任那边去了,他先过去的,我过去后莫名其妙被千夫所指,我就上课说话唱反调,过去后我莫名其妙多了个打老师的罪名,我不知道怎么回事,我就咬定了我没动人打过老师,那个数学老师就一口咬定了我动手打他了,就班主任和语文老师关心问我有没有事需不需要去医院看看,我那个时候还没有往那个方向想,后来快中考的时候被好朋友好兄弟在寝室围堵威胁我放弃中考补分名额的时候我才明白这个原来到处都是算计,那个数学老师咬定污蔑我打他了的原因也是想如果报警尽量定义为互殴这样就不用赔钱了

2.数据处理时这种结构的数据根据要求可以怎么处理

在知道 Map 阶段进入数据为 字符串时处理方向就明确了,就使用平常的数据处理操作对这个字符串进行处理,然后知道进来的每行数据进来是什么样子的·你要处理的在第几个分隔符(有时候是逗号有时候的 \t )后面,然后就可以根据分隔符进行分割成列表使用下标把处理的数据提取等(这只是举例一个操作)、

3. 弄清处理后输出的数据样子和结构

就比如说MapReduce的Map是每行做完了在另一个存储区等待,当Map阶段完成了这些每行的键值对会组合起来成一个字典传到的下一个地方,会在那个地方等待其他机子的Map任务完成,然后把多机子的 Map 输出的字典合并成大字典给 Reduce,弄清处理输出的数据样子和结构才方便数据的二次处理,比如说 MapReduce 这个框架的灵活度不够,遇到复杂灵活的数据处理逻辑时 就需要 执行多个 MapReduce 来完成 数据处理工作,弄清输出数据方便顺利的二次数据读取,这个一般情况其实可以不考虑的,因为大部分的时候输出数据的样子和结构都很明显,只是遇到一些比较特效的框架时候 这个信息 可能就比较隐晦 需要自己去找

标签:Map,处理,MapReduce,学习,要点,数据处理,时候,数据
From: https://blog.csdn.net/boke000000000001/article/details/140576590

相关文章

  • Python学习笔记41:游戏篇之外星人入侵(二)
    前言在上一篇文章,我们已经创建好了项目目录,在今天,我们主要编写入口模块的功能。mainmain.py模块是我们游戏程序的入口,所有我们需要在模块中编写游戏主启动以及主页面相关的代码。当前我们的main模块是这样的,这是我们创建项目时默认生成一些代码,接下来我们就要进行我们......
  • Python学习笔记39:进阶篇(二十八)pygame的使用之按键映射及按键失效问题解决
    前言基础模块的知识通过这么长时间的学习已经有所了解,更加深入的话需要通过完成各种项目,在这个过程中逐渐学习,成长。我们的下一步目标是完成pythoncrashcourse中的外星人入侵项目,这是一个2D游戏项目。在这之前,我们先简单学习一下pygame模块。私信我发送消息python资料,......
  • Python学习笔记40:游戏篇之外星人入侵(一)
    前言入门知识已经学完,常用标准库也了解了,pygame入门知识也学了,那么开始尝试小游戏的开发。当然这个小游戏属于比较简单的小游戏,复杂的游戏需要长时间的编写累计开发经验,同时也需要一定的时间才能编写出来。现在的话还是嫩了点。从基础的简单的开始,学习实践,慢慢的成长才......
  • Python学习笔记37:进阶篇(二十六)pygame的使用之输入处理
    前言基础模块的知识通过这么长时间的学习已经有所了解,更加深入的话需要通过完成各种项目,在这个过程中逐渐学习,成长。我们的下一步目标是完成pythoncrashcourse中的外星人入侵项目,这是一个2D游戏项目。在这之前,我们先简单学习一下pygame模块。私信我发送消息python资料,......
  • Python学习笔记38:进阶篇(二十七)pygame的使用之时间与帧数控制
    前言基础模块的知识通过这么长时间的学习已经有所了解,更加深入的话需要通过完成各种项目,在这个过程中逐渐学习,成长。我们的下一步目标是完成pythoncrashcourse中的外星人入侵项目,这是一个2D游戏项目。在这之前,我们先简单学习一下pygame模块。私信我发送消息python资料,......
  • java学习3
    这周的话想直接通过一个项目去进行学习,但是效果没有想象中的那么大好,我在网上抄了一个还算简单的图书管理系统,能连接数据库,将数据导入数据库。不像之前输入的数据结束程序就没了。但是只能增,没有删,改,查抄这个系统的时候出现了很多我不认识的技术栈,这时候我意识到一个完整项目是......
  • 暑假学习Java第三周
    通过本周的学习我认识到了自己有很多的不足与优点,优点是我能够把问题细化逐步分析,缺点是我的意志力不够坚定。我还了解了Java的三大特性包括:面向对象:Java是一种面向对象的编程语言,它允许程序员定义一系列关于对象和类的概念,并将这些概念作为编程的基本单位。在实际内容中,面向对象......
  • c语言学习笔记
    数据类型无符号数和有符号数在正常编码没有明确指出时候,默认为有符号数。关键字为signed。无符号变量输入负数会发生模数运算#include<stdio.h>intmain(){ unsignedshortf=-20;printf("%u/n",f);return0;}标识符命名规则1.标识符只能由数字......
  • Maskrcnn学习笔记--个人向
    论文名称:MaskR-CNN论文下载地址:https://arxiv.org/abs/1703.06870在阅读本篇博文之前需要掌握FasterR-CNN、FPN以及FCN相关知识。FasterR-CNN视频讲解:FasterRCNN_哔哩哔哩_bilibiliFPN视频讲解:1.1.2FPN结构详解_哔哩哔哩_bilibiliFCN视频讲解:FCN网络结构详解(语义分割......
  • 大模型如何学习知识?
    HowDoLargeLanguageModelsAcquireFactualKnowledgeDuringPretraining?通常认为,LLM在预训练中学习知识。但是LLM对长尾知识的习得很差。有观点认为,Attention的qkv结构是对知识进行抽取(q*k计算attn_score对v加权平均),MLP结构是知识记忆。下面通过实验进行深入分析。创建虚......