Spark Structured Streaming не может записать данные паркета в HDFS - PullRequest
1 голос
/ 22 мая 2019

Я пытаюсь записать данные в HDFS из структурированного потокового кода в Scala. Но я не могу этого сделать из-за ошибки, которую не смог понять

В моем случае использования я читаю данные из темы Кафки, которую я хочу написать на HDFS в формате паркета. Все в моем сценарии работает хорошо без ошибок до сих пор. Для этого я использую кластер Hadoop для разработки с 1 наменодом и 3 датододами.

В какой бы конфигурации я ни пытался, у меня одна и та же ошибка (2 узла данных, настройка одного узла и т. Д.)

вот ошибка:

org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /test/metadata could only be replicated to 0 nodes instead of minReplication (=1).  There are 3 datanode(s) running and 3 node(s) are excluded in this operation.

вот код, который я использую для записи данных:

val query = lbcAutomationCastDf
    .writeStream
    .outputMode("append")
    .format("parquet")
    .queryName("lbcautomation")
    .partitionBy("date_year", "date_month", "date_day")
    .option("checkpointLocation", "hdfs://NAMENODE_IP:8020/test/")
    .option("path", "hdfs://NAMENODE_I:8020/test/")
    .start()
    .awaitTermination()

Код spark scala работает правильно, потому что я могу записать данные на локальный диск сервера без каких-либо ошибок. Я уже пытался отформатировать кластер hadoop, он ничего не меняет

Вы когда-нибудь имели дело с этим делом?

ОБНОВЛЕНИЯ :

  • Ручная передача файла в HDFS на кластере, работа без проблем
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...