Spark结构化流无法将实木复合地板数据写入HDFS

时间:2019-05-22 17:50:48

标签: scala apache-spark hdfs spark-structured-streaming

我正在尝试从Scala中的Spark结构化流代码将数据写入HDFS。 但是由于无法理解的错误,我无法这样做

在我的用例中,我正在从Kafka主题中读取数据,该主题想以镶木地板格式写在HDFS上。到目前为止,我脚本中的所有内容都运行良好,没有错误。 为此,我使用了具有1个namenode和3个datanode的development hadoop集群。

无论我尝试过哪种hadoop配置,我都遇到相同的错误(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

0 个答案:

没有答案