问题标签 [apache-spark]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7378 浏览

java - Spark 集群在较大的输入上失败,适用于小型

我在玩 Spark。它是来自网站的默认预构建发行版 (0.7.0),具有默认配置、集群模式、一名工作人员(我的本地主机)。我阅读了有关安装的文档,一切似乎都很好。

我有一个 CSV 文件(各种大小,1000 - 100 万行)。如果我用小输入文件(例如 1000 行)运行我的应用程序,一切都很好,程序在几秒钟内完成并产生预期的输出。但是当我提供更大的文件(100.000 行或 100 万行)时,执行失败。我试图挖掘日志,但没有太大帮助(它重复整个过程大约 9-10 次,然后退出失败。此外,还有一些与从某个空源获取失败有关的错误)。

第一个 JavaRDD 返回的结果 Iterable 对我来说是可疑的。如果我返回一个硬编码的单例列表(如 res.add("something"); return res;),那么一切都很好,即使有一百万行。但是,如果我添加我想要的所有键(28 个长度为 6-20 个字符的字符串),则该过程在大输入时才会失败。问题是,我需要所有这些键,这是实际的业务逻辑。

我正在使用 Linux amd64,四核,8GB 内存。最新的 Oracle Java7 JDK。火花配置:

我必须提到,当我启动程序时,它说:

这是我的程序。它基于 JavaWordCount 示例,进行了最少的修改。

0 投票
2 回答
827 浏览

scala - 在没有通过 SSH 访问互联网的远程节点上使用 SBT

我正在尝试在远程机器上使用 Scala 编写Spark程序,但该机器无法访问互联网。由于我使用的是 Hadoop 的预构建版本,因此我能够运行预编译的示例:

[user@host spark-0.7.2]$ ./run spark.examples.LocalPi

但我无法编译任何引用机器上火花的东西:

通常,我会使用 SBT 来处理任何依赖项,但机器无法访问 Internet,并且无法通过 SSH 隧道连接 Internet。

是否可以在无法访问 Internet 的远程计算机上编译 SBT 项目?或者我如何手动将 Spark 依赖项链接到 Scala 编译器。

0 投票
2 回答
9583 浏览

cassandra - 比较 Cassandra 的 CQL、Spark/Shark 查询与 Hive/Hadoop(DSE 版本)

我想听听您对使用 CQL 和内存查询引擎 Spark/Shark 的想法和经验。据我所知,CQL 处理器在每个节点上的 Cassandra JVM 中运行。与 Cassandra 集群相连的 Shark/Spark 查询处理器在一个单独的集群中运行。此外,Datastax 有 DSE 版本的 Cassandra,它允许部署 Hadoop/Hive。问题是在哪个用例中我们会选择一个特定的解决方案而不是另一个。

0 投票
1 回答
4360 浏览

scala - Spark 配置:SPARK_MEM 与 SPARK_WORKER_MEMORY

spark-env.sh中,可以配置以下环境变量:

如果我用这个启动一个独立的集群:

我可以在 Spark Master UI 网页上看到所有工作人员都从 3GB RAM 开始:

但是,我指定22gSPARK_WORKER_MEMORYspark-env.sh

我对此有些困惑。可能我不明白“节点”和“工人”之间的区别。

有人可以解释两种内存设置之间的区别以及我可能做错了什么吗?

我正在使用 spark-0.7.0。另请参阅此处了解更多配置信息。

0 投票
1 回答
1884 浏览

scala - Spark 独立模式:工作人员未正确停止

当在 spark (0.7.0) 中停止整个集群时

并非所有工人都被正确停止。更具体地说,如果我想重新启动集群

我得到:

在 host4 和 host7 上,确实有一个 StandaloneExecutorBackend 仍在运行:

简单地重复

不幸的是也没有阻止工人。Spark 只是告诉我工人即将停止:

spark.deploy.master.Master停止

然而,

另有说法。有人知道如何stop-all.sh正常工作吗?谢谢。

0 投票
1 回答
1850 浏览

scala - Spark 独立模式:连接到 127.0.1.1:拒绝

我在独立模式下使用 Spark 0.7.2 和以下驱动程序来处理 ~90GB(压缩:19GB)的日志数据,使用 7 个工作人员和 1 个不同的主服务器:

在所有ShuffleMapTasks阶段 1 完成后:

它提交阶段 0:

经过一些序列化后,它会打印

在此之后,什么都没有发生,也top表明工人现在都处于闲置状态。如果我查看工作机器上的日志,每台机器都会发生同样的事情:

然后,对于这些“启动连接”尝试中的每一个,它都会向每个工作人员抛出相同的错误(以 host27 的日志为例,并且仅显示第一次出现的错误):

为什么会这样?工人之间似乎可以很好地交流,唯一的问题似乎是他们想给自己发送消息;在上面的例子中,host27 尝试向自己发送 6 条消息,但失败了 6 次。向其他工作人员发送消息工作正常。有人有想法吗?

编辑:也许它与使用 127.0 的火花有关。1 .1 而不是 127.0。0 .1? /etc/hosts如下所示:

0 投票
1 回答
2673 浏览

scala - Spark Standalone Mode:更改 HDFS 输出的复制因子

在我hdfs-site.xml的配置中,复制因子为 1。

但是,将我的结果写入 hdfs 时:

结果自动复制了 3 倍,覆盖了我自己的复制因子。为了节省一些空间,我希望输出的复制因子也为 1。

spark如何告诉HDFS使用复制因子1?

0 投票
2 回答
3579 浏览

apache-spark - scala和python之间的API兼容性?

我已经阅读了十几页文档,似乎:

  1. 我可以跳过学习 scala 部分

  2. API 完全在 python 中实现(我不需要学习 scala 任何东西)

  3. 交互模式与 scala shell 一样完整和快速,故障排除同样容易

  4. 仍然会导入像 numpy 这样的 python 模块(没有残缺的 python 环境)

是否存在无法实现的空缺区域?

0 投票
4 回答
15110 浏览

scala - Spark 独立模式:如何压缩写入 HDFS 的 spark 输出

与我的另一个问题相关,但不同:

如果我将 RDD 保存到 HDFS,我如何告诉 spark 用 gzip 压缩输出?在 Hadoop 中,可以设置

并选择压缩算法

我将如何在火花中做到这一点?这也会起作用吗?

编辑:使用 spark-0.7.2

0 投票
2 回答
34853 浏览

apache-spark - 快速 Hadoop 分析(Cloudera Impala vs Spark/Shark vs Apache Drill)

我想对 HDFS 中的数据进行一些“近乎实时”的数据分析(类似 OLAP)。
我的研究表明,与 Apache Hive 相比,上述三个框架报告了显着的性能提升。有没有人对其中任何一个有一些实际经验?不仅关乎性能,还关乎稳定性?