我最近遇到了一些非常奇怪的数据损坏问题。 基本上我所做的是:
我的脚本的基本格式是:
f=open(file)
for line in f:
#process lines
或
f=open(file).readlines()
#process lines
然而,奇怪的部分是:我不时会看到数据某些部分的数据损坏。
首先,我发现我的一些“输入”数据已损坏(不是全部);然后我只是怀疑它是否是“scp”的问题。我问一些计算机人员,并在这里发帖,但似乎“scp”可能会扭曲数据的可能性很小。 我只是做“scp”将我的数据再次传输到hpcc;并且这次输入数据变得正常。很奇怪,对吗? 因此,这促使我思考:输入数据是否可能被用于运行内存/ CPU使用密集型程序而中断?
如果输入数据已损坏,输出也会被破坏,这很自然。好的,然后我再次将输入数据传输到hpcc,并检查它们是否都处于良好状态,然后我运行程序(应该指出:一起运行1000个作业),输出文件...大部分是好;但非常令人惊讶的是,只有一个文件的某些部分已损坏!所以我只是单独为这个特定文件运行程序,然后获得良好的输出而不会有任何损坏!! 我很困惑......在看到这么多奇怪的事情后,我唯一的结论是:可能同时运行许多内存密集型工作会损害数据? (但我以前也经常做很多这样的工作,看起来还不错)
数据损坏,我的意思是:
这样的事情:
CTTGTTACCCAGTTCCAAAG9583gfg1131CCGGATGCTGAATGGCACGTTTACAATCCTTTAGCTAGACACAAAAGTTCTCCAAGTCCCCACCAGATTAGCTAGACACAGAGGGCTGGTTGGTGCATCT0/1
gfgggfgggggggggggggg9583gfg1131CCGGAfffffffaedeffdfffeffff`fffffffffcafffeedffbfbb[aUdb\``ce]aafeeee\_dcdcWe[eeffd\ebaM_cYKU]\a\Wcc0/1
CTTGTTACCCAGTTCCAAAG9667gfg1137CCGGATCTTAAAACCATGCTGAGGGTTACAAA1AGAAAGTTAACGGGATGCTGATGTGGACTGTGCAAATCGTTAACATACTGAAAACCTCT0/1
gfgggfgggggggggggggg9667gfg1137CCGGAeeeeeeeaeeb`ed`dadddeebeeedY_dSeeecee_eaeaeeeeeZeedceadeeXbd`RcJdcbc^c^e`cQ]a_]Z_Z^ZZT^0/1
然而它应该是:
@HWI-ST150_0140:6:2204:16666:85719#0/1
TGGGCTAAAAGGATAAGGGAGGGTGAAGAGAGGATCTGGGTGAACACACAAGAGGCTTAAAGCATTTTATCAAATCCCAATTCTGTTTACTAGCTGTGTGA
+HWI-ST150_0140:6:2204:16666:85719#0/1
gggggggggggggggggfgggggZgeffffgggeeggegg^ggegeggggaeededecegffbYdeedffgggdedffc_ffcffeedeffccdffafdfe
@HWI-ST150_0140:6:2204:16743:85724#0/1
GCCCCCAGCACAAAGCCTGAGCTCAGGGGTCTAGGAGTAGGATGGGTGGTCTCAGATTCCCCATGACCCTGGAGCTCAGAACCAATTCTTTGCTTTTCTGT
+HWI-ST150_0140:6:2204:16743:85724#0/1
ffgggggggfgeggfefggeegfggggggeffefeegcgggeeeeebddZggeeeaeed[ffe^eTaedddc^Oacccccggge\edde_abcaMcccbaf
@HWI-ST150_0140:6:2204:16627:85726#0/1
CCCCCATAGTAGATGGGCTGGGAGCAGTAGGGCCACATGTAGGGACACTCAGTCAGATCTATGTAGCTGGGGCTCAAACTGAAATAAAGAATACAGTGGTA