为什么在Sparkr中创建CSV文件会显示错误?

为什么在Sparkr中创建CSV文件会显示错误?,r,apache-spark,sparklyr,R,Apache Spark,Sparklyr,介绍 我已经通过引用编写了以下R代码。在这里,SparkyR包用于R编程,从JSON文件中读取大量数据。但是,在创建CSV文件时,它显示了错误 R代码 sc <- spark_connect(master = "local", config = conf, version = '2.2.0') sample_tbl <- spark_read_json(sc,name="example",path="example.json", header = TRUE,

介绍

我已经通过引用编写了以下R代码。在这里,SparkyR包用于R编程,从JSON文件中读取大量数据。但是,在创建CSV文件时,它显示了错误

R代码

sc <- spark_connect(master = "local", config = conf, version = '2.2.0')
sample_tbl <- spark_read_json(sc,name="example",path="example.json", header = TRUE, 
                              memory = FALSE, overwrite = TRUE)
sdf_schema_viewer(sample_tbl) # to create db schema
sample_tbl %>% spark_write_csv(path = "data.csv") # To write CSV file

sc您的数据帧似乎具有数组数据类型,CSV不支持该类型。在这种情况下,CSV文件似乎不可能包含数组或其他嵌套结构

因此,如果您希望您的数据是人类可读的文本,请将其写为Excel文件

请注意,Excel CSV(尽管非常特殊)支持使用“\n”的CSV数组
内引号,但您必须将行“\r\n”(Windows EOL)用作下线。

还需要指出的是,这里不仅仅是数组。OPs数据(,)包含一个深度嵌套的结构,实际上没有CSV等价物。@rani另一个问题仍然有点不清楚,但据我所知,这是不够的。要写入csv,您只需要原子类型(字符串、整数、小数、双精度、浮点、布尔)-不允许使用
structs
数组。这意味着您必须使用分解访问器和嵌套访问器(可能是编写Scala扩展)的组合来定义数据的形状,或者对字段进行序列化。模式本身是不明确的,所以您应该真正提供示例输入和预期输出。