Scala 将逗号分隔的字符串作为命名的.txt文件逐行保存到Google存储桶中

Scala 将逗号分隔的字符串作为命名的.txt文件逐行保存到Google存储桶中,scala,file-io,google-cloud-storage,Scala,File Io,Google Cloud Storage,我在Scala中有一个逗号分隔的字符串,我想首先用逗号分割字符串,这样每个单词都在一行中,并将此文件保存在Google存储桶中。我只能按原样保存整个字符串(所以不能用逗号分隔成不同的行),并且不能在Google存储桶中重命名文件。你能帮忙吗?这是我的密码 val x = "a,b,c,d" sc.parallelize(sc.parallelize(List(x)).collect()).coalesce(1).saveAsTextFile("gs://myRepo

我在Scala中有一个逗号分隔的字符串,我想首先用逗号分割字符串,这样每个单词都在一行中,并将此文件保存在Google存储桶中。我只能按原样保存整个字符串(所以不能用逗号分隔成不同的行),并且不能在Google存储桶中重命名文件。你能帮忙吗?这是我的密码

val x = "a,b,c,d"
sc.parallelize(sc.parallelize(List(x)).collect()).coalesce(1).saveAsTextFile("gs://myReport/Output_x")
这段脚本将字符串保存到一个平面文件中,该文件自动命名为
part-00000
,因此没有后缀。所有的内容都在同一行。所以我是这样的:

a,b,c,d
a
b
c
d
我想要的是一个名为
table1.txt
的文件,保存在Google Bucket的同一位置。内容应该是这样的:

a,b,c,d
a
b
c
d

Scala可以吗?

正如@Jwvh所提到的,您可以使用
x.replaceAll(“,”,“\n”)
将文件中的逗号替换为换行符


但是,对于问题的第二部分,您不能像在本地目录中那样直接保存文件,您必须将其保存在本地或在内存中创建文件,然后使用云存储SDK将其上载到云存储,为了做到这一点,您可以使用它。

x.replaceAll(“,”,“\n”)
谢谢@jwvh您的建议解决了一半的问题,这很令人兴奋。现在,文件内容是按行列出的,而不是一行加逗号。你知道如何用所需的名称将其保存在Google Bucket中吗?你不能像保存在本地目录中那样直接保存文件,你必须先在内存中创建它,然后使用云存储SDK来完成,你可以从中看到如何在Scala中上传它。让我知道这是否解决了您的问题。谢谢@ralemos您的意思是我需要先将其保存在本地,然后上传到google bucket?我不确定在您提供的链接中是否找到了示例。你能说得更具体一点吗?是的,要么在本地保存,要么在内存中创建文件,我从来没有使用过scala,所以我不确定你怎么做,但是如果你使用基于GCS java库的scala,你就可以做到,下面是一些例子。