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

时间:2018-09-10 21:27:02

标签: r apache-spark sparklyr

简介

我已经通过引用Link-1编写了以下R代码。在这里,Sparklyr包在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

最后一行显示以下错误。数据集包含不同的数据类型。如果需要,我可以显示数据库架构。它包含嵌套的数据列。

错误

  

错误:java.lang.UnsupportedOperationException:CSV数据源不支持struct,media:array,display_url:string,expanded_url:string,id:bigint,id_str:string,indices:array,media ......

问题

如何解决此错误?是由于数据类型不同还是2到3级深度嵌套列引起的?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

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

因此,如果您希望数据是人类可读的文本,请以Excel文件的形式写出。

请注意,Excel CSV(虽然很特殊)支持使用“ \ n”的CSV数组 内引号,但是您必须将EOL用作行“ \ r \ n”(Windows EOL)。