zoukankan      html  css  js  c++  java
  • [python] MR输出单条信息不全的问题-python输出缓冲

    问题

    在写MR代码输出query对应embedding向量时,出现了每个part中最后一个query对应的embedding维度输出不全的问题,但是part中其他embedding维度都是全的,在本地测试也没有问题。

    原因分析

    以上说明预测embedding的代码本身是没有问题的,MR框架本身也没有问题。

    问题原因在于,用户进程和MR框架通过管道连接,如果用户进程没有吐完数据就退出,那么会最后产出的数据不全。

    为什么用户进行没有吐完数据呢?

    这是python2 print标准输出时,会先输出到stdout的缓冲中,等缓冲满了再一次性输出,如果没有满可能就不会输出。

    所以以上提到的最后一个embedding维度不全的问题,可能是缓冲未满未输出造成的。

    解决方法

    python -u 可以使得python2.7stdout不经过缓冲直接输出

  • 相关阅读:
    boot.asm
    C talk
    C 数据类型
    Locks, Deadlocks, and Synchronization
    C++的RTTI 观念和用途
    setup.asm
    驱动对象设备对象设备栈
    JNI 内存泄漏
    KMP 字符串匹配算法
    解开 Windows 下的临界区中的代码死锁
  • 原文地址:https://www.cnblogs.com/shiyublog/p/13683177.html
Copyright © 2011-2022 走看看