Spark 独立集群模式下读取的数据不正确

问题描述

我已经设置了 Spark 独立模式,有 1 个 master 和 2 个 worker。我使用 spark-submit 启动了 spark 应用程序(java jar),正如预期的那样,我的应用程序在两台工作机器上运行并产生输出

我可以在两台工作机器中找到零件文件

Spark 作业如下,

  1. 我有一个文本文件,它在工作节点 1 的位置 /Users/abc/spark/a.txt 中包含 1 到 100 之间的数字

  2. 我有一个文本文件在 101-200 之间,位于相同路径和相同文件名的另一个工作节点中。

我的 spark 作业从 textFile 读取数据,映射每个数字乘以 2,然后保存输出

问题是,当我检查两个工作节点的输出时,

Spark 忽略了工作节点 1 中 txtfile 中的数字 50-60。它只考虑了 1-49 和 61-100,并在同一台机器上产生了 8 个部分文件中 2-98 和 122-200 之间的输出

在第二个工作节点中,它只考虑了 150-160 之间的数字。它在第二个工作节点中产生了 2 个部分文件中 300-320 之间的输出

不知道为什么 spark 忽略了输入数据的其他部分。

我是否以错误的格式存储数据?还是因为我没有使用 Hdfs?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...