当前位置: 首页 > 面试题库 >

如何在群集上保存文件

仲孙温文
2023-03-14
问题内容

我已使用连接到集群,ssh并使用将程序发送到集群

spark-submit --master yarn myProgram.py

我想将结果保存在文本文件中,并尝试使用以下几行:

counts.write.json("hdfs://home/myDir/text_file.txt")
counts.write.csv("hdfs://home/myDir/text_file.csv")

但是,它们都不起作用。程序完成,我在中找不到文本文件myDir。你知道我该怎么做吗?

另外,有没有一种方法可以直接写入本地计算机?

编辑:我发现该home目录不存在,所以现在我将结果另存为:
counts.write.json("hdfs:///user/username/text_file.txt")
但这会创建一个名为的目录,text_file.txt并且我里面有很多文件,里面有部分结果。但是我想要一个包含最终结果的文件。有什么想法我该怎么做?


问题答案:

由于计算是分布式的,因此Spark会将结果保存在多个文件中。因此写:

counts.write.csv("hdfs://home/myDir/text_file.csv")

表示将每个分区上的数据保存为文件 夹中 的独立文件text_file.csv。如果要将数据保存为单个文件,请coalesce(1)首先使用:

counts.coalesce(1).write.csv("hdfs://home/myDir/text_file.csv")

这会将所有数据放入一个分区,因此保存的文件数将为1。但是,如果您有很多数据,这可能是个坏主意。如果数据非常小,则使用collect()替代方法。这会将所有数据作为数组放置在驱动程序计算机上,然后可以将其保存为单个文件。



 类似资料:
  • 我是新来的。我正试图从我的主实例读取一个文件,但我得到了这个错误。经过研究,我发现要么需要将数据加载到hdfs,要么需要跨集群复制。我找不到执行这两个命令的命令。 ----------------------------------------------------------------------------------------------------------------------

  • 拜托,我需要你的帮助。 自上周以来,我一直在努力尝试在Windows服务器上配置兔子MQ集群。我重新安装了 RabbitMQ 3.7.8 和 ErlangOTP 21-1 超过 15 次,试图找出问题并修复它,但不幸的是,我所有的尝试都失败了。 我的环境: 三个虚拟机与操作系统: Windows 服务器 2012 环境变量设置: 安装步骤:(针对每台服务器) 完成以上服务器的安装后,我开始配置集群

  • 我尝试了这个设置: 服务器1: 服务器2: 是设置不正确,还是证书有问题? 组织中以前的Artemis设置有相互的SSL,但是对于我的用例来说,双向身份验证没有任何好处。由于我的设置不起作用,我再次添加了它,但我认为它只是强制客户端通过用户/密码进行身份验证。

  • 当我收到这个错误时,我应该如何bot一个新的Cassandra节点? cassandra.yaml文件中集群的名称是: 我如何解决?

  • 我的Spring应用程序由十几个微服务组成。每个微服务都提供数据,这些数据并不经常变化。为了减少微服务之间的通信,我正在考虑开始使用Hazelcast。 我的想法是每个微服务都嵌入了Hazelcast。微服务在同一个网络中运行,我认为Hazelcasts将形成一个集群。每个微服务都会在启动时将其数据放入本地Hazelcast中,并将数据复制到集群中的每个其他Hazelcast中。当一个微服务需要从

  • 问题内容: 如何在Symbian上将textview的内容保存到文件中? 问题答案: 将其存储在RMS中,这是示例