
使用编写的小编所从事的工作方向是机器学习, 其中数据处理这一部分相当重要, 所以今儿小编要介绍怎样运用语言去编写一个简单程序中的相关内容。动机它是谷歌公司这种所拥有的文件系统作出的开源实现, 当下被数目众多的公司用以管理自身的数据, 它里面存在着能够快速且便利地处理文件的特性, 是小编极其喜爱去使用的工具当中的一个。基于Java语言的框架, 然而我们能够运用像C等别的语言去开发应用。只是官方文档里的样例要求用户把脚本编译成jar文件, 这致使诸多不支持的特性没法使用, 小编认为是极为不方便的。我们想做的在此处, 我们尝试着仅仅运用编写之中极为基础的字数统计程序, 且无需将其编译成为jar文件。读取一个文本文件的程序, 是用于进行字数统计的, 利用该程序计算每一个单词出现的次数, 之后把单词以及其出现的次数输出到文件里, 并且单词和次数之间由制表符进行分割。代码首先, 请注意, 后续小编所介绍的代码可工作的缘由在于, 其依照 API, 借助标准输入STDIN以及标准输出于 Map 与之间传递数据, 其中, 我们运用中的 sys.stdin 以及 sys.去分别展开读取与输出数据的操作, 而其余的相关事宜则交由的流管理器去进行处理便可。首先, 我们对流处理的过程做个简单介绍。在映射阶段, 我们定义要分行处理输入数据, 需注意, 在流处理本身当中, 会把输入文件转变为键值对, 其中键是当前文本所在的行数。经过逐行处理后, 将会发送不同的键值对, 接着按照键进行排序, 然后处在缩减步时, 对于具有相同键的值要经过处理后再输出。映射Map阶段首先, 去追忆一下方才理应去完成的所作所为, 于是我们清楚, 在进行字数统计期间, 每当我们碰到一个单词, 便应当发送一个单词, 1的对应组合, 而后, 在随后的缩减阶段, 去统计不同的键究竟有多少个, 进而输出最终的结果。所以要编写程序来达成此乃为。缩减阶段循序渐进, 我们于其中要统计每一个单词出现的数量, 鉴于步骤已然依据键对单词实施了排序, 所以当转变为新的单词之际意味着上一个词已统计完结, 输出其结果就行, 代码如下:测试代码效果首先, 运用命令chmod x ./.py, 赋予一个脚本可执行权限, 接着, 又运用命令chmod x ./.py, 赋予另一个脚本可执行权限。为获取在本地测试的效果, 我们借助Linux命令来替换流处理器, 此为第一步。第一步里, 我们要把文本放进标准输入途径cat或者echo, 在完成映射之后, 我们需要进行排序操作sort, 所以有。测试发现如我们所愿变成一个一个键值对进一步测试与之相类似的情况, 能够运用cat命令, 以此在本地文件方面进行验证, 看其是不是处于工作状态, 此处就不再详细叙述了。在上运行代码首先我们需要将把本地文件放入集群### 执行任务事情进展到当下, 所有条件都已完备, 唯独缺少关键的东风了。我们最终所运用的是流管理器去传递数据, 具体呈现的命令如下接着, 我们能够借由指令瞧瞧结果, 于极短的时段里达成了字数统计。小结可以发觉, 这种办法确实能够把简单易于书写的与流程融合到一起, 极大地节约了开发效率, 致使小编能够把精力投放于特征选取以及模型构造之上。小编开展机器学习领域方面的研究, 而后进行机器学习范畴之中的工作, 假设有抱以兴趣之话题, 那么能够留言告知小编。