Я делаю проект для школы на предоставленном небольшом кластере (4 узла, 1 - это namenode и spark master).Я делаю вычисления, а затем записываю искровой DataFrame в hadoop в виде файла ORC.Затем я получаю следующее сообщение об ошибке:
Caused by: org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /user/myfile.orc/_temporary/0/_temporary/attempt_20180521123532_0005_m_000010_3/part-00010-1dd484de-2d33-4a51-8029-737aa957264e-c000.snappy.orc could only be replicated to 0 nodes instead of minReplication (=1). There are 3 datanode(s) running and no node(s) are excluded in this operation.
И несколько скрытый в трассировке стека:
Suppressed: java.lang.IllegalArgumentException: Column has wrong number of index entries found: 0 expected: 36
общий набор данных составляет 50 миллионов строк.если я ограничу 10 000 строк, это будет работать без проблем.
Так в чем же причина проблемы?Дискового пространства достаточно.
РЕДАКТИРОВАТЬ:
код:
df.write.format("orc").mode("overwrite").save("hdfs://namenode-server:9000/user/myfile.orc")
РЕДАКТИРОВАТЬ 2:
или это все-таки дисковое пространство?
Decommission Status : Normal
Configured Capacity: 20082696192 (18.70 GB)
DFS Used: 1665830730 (1.55 GB)
Non DFS Used: 12819447990 (11.94 GB)
DFS Remaining: 4719075328 (4.39 GB)
DFS Used%: 8.29%
DFS Remaining%: 23.50%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Mon May 21 14:31:52 CEST 2018
Исходный файл имеет размер 1,5 Гб (формат файла txt), и некоторые данные добавляются в него, а затем сохраняются как ORC.Может быть, это действительно занимает более 4,39 ГБ.